diff --git a/frontend/src/api/generated/agent-board-issues/agent-board-issues.ts b/frontend/src/api/generated/agent-board-issues/agent-board-issues.ts new file mode 100644 index 0000000..cddf4ca --- /dev/null +++ b/frontend/src/api/generated/agent-board-issues/agent-board-issues.ts @@ -0,0 +1,800 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import { useMutation, useQuery } from "@tanstack/react-query"; +import type { + DataTag, + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryClient, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult, +} from "@tanstack/react-query"; + +import type { + CloseIssueResponse, + ForgejoIssueListResponse, + ForgejoIssueRead, + HTTPValidationError, + ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, +} from ".././model"; + +import { customFetch } from "../../mutator"; + +type SecondParameter unknown> = Parameters[1]; + +/** + * List Forgejo issues from repositories linked to the specified board. + +Use this endpoint when an agent needs to discover issues across all repositories associated with its assigned board. + +LLM Routing Guidance: +- Use when you need to list issues for a specific board's repositories +- Filter by state, search text, or assignee for targeted results +- Use this instead of generic issue lists when board context matters +- Exclude pull requests automatically + * @summary List issues for board's linked repositories + */ +export type listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponse200 = { + data: ForgejoIssueListResponse; + status: 200; +}; + +export type listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponseSuccess = + listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponse200 & { + headers: Headers; + }; +export type listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponseError = + listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponse422 & { + headers: Headers; + }; + +export type listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponse = + | listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponseSuccess + | listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetResponseError; + +export const getListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetUrl = ( + boardId: string, + params?: ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/agent/boards/${boardId}/git/issues?${stringifiedParams}` + : `/api/v1/agent/boards/${boardId}/git/issues`; +}; + +export const listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet = async ( + boardId: string, + params?: ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetUrl(boardId, params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetQueryKey = ( + boardId: string, + params?: ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, +) => { + return [ + `/api/v1/agent/boards/${boardId}/git/issues`, + ...(params ? [params] : []), + ] as const; +}; + +export const getListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetQueryOptions = + < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, + >( + boardId: string, + params?: ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetQueryKey( + boardId, + params, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType + > + > = ({ signal }) => + listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet(boardId, params, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!boardId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetQueryResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetQueryError = + HTTPValidationError; + +export function useListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params: undefined | ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet + > + >, + TError, + Awaited< + ReturnType< + typeof listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet + > + >, + TError, + Awaited< + ReturnType< + typeof listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List issues for board's linked repositories + */ + +export function useListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetQueryOptions( + boardId, + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Read a specific Forgejo issue by id, ensuring it belongs to a repository linked to the specified board. + +Use this endpoint when an agent needs to inspect a specific issue within the context of a board's repositories. + * @summary Read one issue from board-linked repositories + */ +export type readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponse200 = + { + data: ForgejoIssueRead; + status: 200; + }; + +export type readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponseSuccess = + readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponse200 & { + headers: Headers; + }; +export type readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponseError = + readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponse422 & { + headers: Headers; + }; + +export type readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponse = + | readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponseSuccess + | readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetResponseError; + +export const getReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetUrl = ( + boardId: string, + issueId: string, +) => { + return `/api/v1/agent/boards/${boardId}/git/issues/${issueId}`; +}; + +export const readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet = async ( + boardId: string, + issueId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetUrl( + boardId, + issueId, + ), + { + ...options, + method: "GET", + }, + ); +}; + +export const getReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetQueryKey = + (boardId: string, issueId: string) => { + return [`/api/v1/agent/boards/${boardId}/git/issues/${issueId}`] as const; + }; + +export const getReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetQueryOptions = + < + TData = Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError = HTTPValidationError, + >( + boardId: string, + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetQueryKey( + boardId, + issueId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + > + > = ({ signal }) => + readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet( + boardId, + issueId, + { signal, ...requestOptions }, + ); + + return { + queryKey, + queryFn, + enabled: !!(boardId && issueId), + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type ReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetQueryResult = + NonNullable< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + > + >; +export type ReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetQueryError = + HTTPValidationError; + +export function useReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + issueId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Read one issue from board-linked repositories + */ + +export function useReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof readBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getReadBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdGetQueryOptions( + boardId, + issueId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Close a Forgejo issue by its local ID as a board-lead agent. Only board lead agents can close issues. The issue must belong to a repository linked to the target board. + * @summary Close a Forgejo issue (agent) + */ +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse200 = + { + data: CloseIssueResponse; + status: 200; + }; + +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse403 = + { + data: void; + status: 403; + }; + +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse404 = + { + data: void; + status: 404; + }; + +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse409 = + { + data: void; + status: 409; + }; + +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse502 = + { + data: void; + status: 502; + }; + +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponseSuccess = + closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse200 & { + headers: Headers; + }; +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponseError = + ( + | closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse403 + | closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse404 + | closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse409 + | closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse422 + | closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse502 + ) & { + headers: Headers; + }; + +export type closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponse = + + | closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponseSuccess + | closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostResponseError; + +export const getCloseBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostUrl = + (boardId: string, issueId: string) => { + return `/api/v1/agent/boards/${boardId}/git/issues/${issueId}/close`; + }; + +export const closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost = + async ( + boardId: string, + issueId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getCloseBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostUrl( + boardId, + issueId, + ), + { + ...options, + method: "POST", + }, + ); + }; + +export const getCloseBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost + > + >, + TError, + { boardId: string; issueId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost + > + >, + TError, + { boardId: string; issueId: string }, + TContext + > => { + const mutationKey = [ + "closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost + > + >, + { boardId: string; issueId: string } + > = (props) => { + const { boardId, issueId } = props ?? {}; + + return closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost( + boardId, + issueId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type CloseBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost + > + > + >; + +export type CloseBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostMutationError = + void | HTTPValidationError; + +/** + * @summary Close a Forgejo issue (agent) + */ +export const useCloseBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost + > + >, + TError, + { boardId: string; issueId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof closeBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePost + > + >, + TError, + { boardId: string; issueId: string }, + TContext + > => { + return useMutation( + getCloseBoardIssueApiV1AgentBoardsBoardIdGitIssuesIssueIdClosePostMutationOptions( + options, + ), + queryClient, + ); + }; diff --git a/frontend/src/api/generated/agent/agent.ts b/frontend/src/api/generated/agent/agent.ts index a419702..aa7f989 100644 --- a/frontend/src/api/generated/agent/agent.ts +++ b/frontend/src/api/generated/agent/agent.ts @@ -33,12 +33,14 @@ import type { BoardOnboardingAgentQuestion, BoardOnboardingRead, BoardRead, + BoardWebhookPayloadRead, GatewayLeadBroadcastRequest, GatewayLeadBroadcastResponse, GatewayLeadMessageRequest, GatewayLeadMessageResponse, GatewayMainAskUserRequest, GatewayMainAskUserResponse, + GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, HTTPValidationError, LLMErrorResponse, LimitOffsetPageTypeVarCustomizedAgentRead, @@ -68,58 +70,43 @@ import { customFetch } from "../../mutator"; type SecondParameter unknown> = Parameters[1]; /** - * Return agents visible to the caller, optionally filtered by board. + * Token-authenticated liveness probe for agent API clients. -Use when downstream routing or coordination needs recipient actors. - * @summary List visible agents +Use this endpoint when the caller needs to verify both service availability and agent-token validity in one request. + * @summary Agent Auth Health Check */ -export type listAgentsApiV1AgentAgentsGetResponse200 = { - data: LimitOffsetPageTypeVarCustomizedAgentRead; +export type agentHealthzApiV1AgentHealthzGetResponse200 = { + data: AgentHealthStatusResponse; status: 200; }; -export type listAgentsApiV1AgentAgentsGetResponse422 = { +export type agentHealthzApiV1AgentHealthzGetResponse422 = { data: HTTPValidationError; status: 422; }; -export type listAgentsApiV1AgentAgentsGetResponseSuccess = - listAgentsApiV1AgentAgentsGetResponse200 & { +export type agentHealthzApiV1AgentHealthzGetResponseSuccess = + agentHealthzApiV1AgentHealthzGetResponse200 & { headers: Headers; }; -export type listAgentsApiV1AgentAgentsGetResponseError = - listAgentsApiV1AgentAgentsGetResponse422 & { +export type agentHealthzApiV1AgentHealthzGetResponseError = + agentHealthzApiV1AgentHealthzGetResponse422 & { headers: Headers; }; -export type listAgentsApiV1AgentAgentsGetResponse = - | listAgentsApiV1AgentAgentsGetResponseSuccess - | listAgentsApiV1AgentAgentsGetResponseError; +export type agentHealthzApiV1AgentHealthzGetResponse = + | agentHealthzApiV1AgentHealthzGetResponseSuccess + | agentHealthzApiV1AgentHealthzGetResponseError; -export const getListAgentsApiV1AgentAgentsGetUrl = ( - params?: ListAgentsApiV1AgentAgentsGetParams, -) => { - const normalizedParams = new URLSearchParams(); - - Object.entries(params || {}).forEach(([key, value]) => { - if (value !== undefined) { - normalizedParams.append(key, value === null ? "null" : value.toString()); - } - }); - - const stringifiedParams = normalizedParams.toString(); - - return stringifiedParams.length > 0 - ? `/api/v1/agent/agents?${stringifiedParams}` - : `/api/v1/agent/agents`; +export const getAgentHealthzApiV1AgentHealthzGetUrl = () => { + return `/api/v1/agent/healthz`; }; -export const listAgentsApiV1AgentAgentsGet = async ( - params?: ListAgentsApiV1AgentAgentsGetParams, +export const agentHealthzApiV1AgentHealthzGet = async ( options?: RequestInit, -): Promise => { - return customFetch( - getListAgentsApiV1AgentAgentsGetUrl(params), +): Promise => { + return customFetch( + getAgentHealthzApiV1AgentHealthzGetUrl(), { ...options, method: "GET", @@ -127,68 +114,62 @@ export const listAgentsApiV1AgentAgentsGet = async ( ); }; -export const getListAgentsApiV1AgentAgentsGetQueryKey = ( - params?: ListAgentsApiV1AgentAgentsGetParams, -) => { - return [`/api/v1/agent/agents`, ...(params ? [params] : [])] as const; +export const getAgentHealthzApiV1AgentHealthzGetQueryKey = () => { + return [`/api/v1/agent/healthz`] as const; }; -export const getListAgentsApiV1AgentAgentsGetQueryOptions = < - TData = Awaited>, +export const getAgentHealthzApiV1AgentHealthzGetQueryOptions = < + TData = Awaited>, TError = HTTPValidationError, ->( - params?: ListAgentsApiV1AgentAgentsGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, -) => { +>(options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; +}) => { const { query: queryOptions, request: requestOptions } = options ?? {}; const queryKey = - queryOptions?.queryKey ?? getListAgentsApiV1AgentAgentsGetQueryKey(params); + queryOptions?.queryKey ?? getAgentHealthzApiV1AgentHealthzGetQueryKey(); const queryFn: QueryFunction< - Awaited> + Awaited> > = ({ signal }) => - listAgentsApiV1AgentAgentsGet(params, { signal, ...requestOptions }); + agentHealthzApiV1AgentHealthzGet({ signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, + Awaited>, TError, TData > & { queryKey: DataTag }; }; -export type ListAgentsApiV1AgentAgentsGetQueryResult = NonNullable< - Awaited> +export type AgentHealthzApiV1AgentHealthzGetQueryResult = NonNullable< + Awaited> >; -export type ListAgentsApiV1AgentAgentsGetQueryError = HTTPValidationError; +export type AgentHealthzApiV1AgentHealthzGetQueryError = HTTPValidationError; -export function useListAgentsApiV1AgentAgentsGet< - TData = Awaited>, +export function useAgentHealthzApiV1AgentHealthzGet< + TData = Awaited>, TError = HTTPValidationError, >( - params: undefined | ListAgentsApiV1AgentAgentsGetParams, options: { query: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > > & Pick< DefinedInitialDataOptions< - Awaited>, + Awaited>, TError, - Awaited> + Awaited> >, "initialData" >; @@ -198,24 +179,23 @@ export function useListAgentsApiV1AgentAgentsGet< ): DefinedUseQueryResult & { queryKey: DataTag; }; -export function useListAgentsApiV1AgentAgentsGet< - TData = Awaited>, +export function useAgentHealthzApiV1AgentHealthzGet< + TData = Awaited>, TError = HTTPValidationError, >( - params?: ListAgentsApiV1AgentAgentsGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > > & Pick< UndefinedInitialDataOptions< - Awaited>, + Awaited>, TError, - Awaited> + Awaited> >, "initialData" >; @@ -225,15 +205,14 @@ export function useListAgentsApiV1AgentAgentsGet< ): UseQueryResult & { queryKey: DataTag; }; -export function useListAgentsApiV1AgentAgentsGet< - TData = Awaited>, +export function useAgentHealthzApiV1AgentHealthzGet< + TData = Awaited>, TError = HTTPValidationError, >( - params?: ListAgentsApiV1AgentAgentsGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -245,18 +224,17 @@ export function useListAgentsApiV1AgentAgentsGet< queryKey: DataTag; }; /** - * @summary List visible agents + * @summary Agent Auth Health Check */ -export function useListAgentsApiV1AgentAgentsGet< - TData = Awaited>, +export function useAgentHealthzApiV1AgentHealthzGet< + TData = Awaited>, TError = HTTPValidationError, >( - params?: ListAgentsApiV1AgentAgentsGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -267,10 +245,7 @@ export function useListAgentsApiV1AgentAgentsGet< ): UseQueryResult & { queryKey: DataTag; } { - const queryOptions = getListAgentsApiV1AgentAgentsGetQueryOptions( - params, - options, - ); + const queryOptions = getAgentHealthzApiV1AgentHealthzGetQueryOptions(options); const query = useQuery(queryOptions, queryClient) as UseQueryResult< TData, @@ -280,139 +255,6 @@ export function useListAgentsApiV1AgentAgentsGet< return { ...query, queryKey: queryOptions.queryKey }; } -/** - * Register a new board agent and attach it to the lead's board. - -The target board is derived from the caller identity and cannot be changed in payload. - * @summary Create a board agent as lead - */ -export type agentLeadCreateAgentResponse200 = { - data: AgentRead; - status: 200; -}; - -export type agentLeadCreateAgentResponse403 = { - data: LLMErrorResponse; - status: 403; -}; - -export type agentLeadCreateAgentResponse409 = { - data: LLMErrorResponse; - status: 409; -}; - -export type agentLeadCreateAgentResponse422 = { - data: LLMErrorResponse; - status: 422; -}; - -export type agentLeadCreateAgentResponseSuccess = - agentLeadCreateAgentResponse200 & { - headers: Headers; - }; -export type agentLeadCreateAgentResponseError = ( - | agentLeadCreateAgentResponse403 - | agentLeadCreateAgentResponse409 - | agentLeadCreateAgentResponse422 -) & { - headers: Headers; -}; - -export type agentLeadCreateAgentResponse = - | agentLeadCreateAgentResponseSuccess - | agentLeadCreateAgentResponseError; - -export const getAgentLeadCreateAgentUrl = () => { - return `/api/v1/agent/agents`; -}; - -export const agentLeadCreateAgent = async ( - agentCreate: AgentCreate, - options?: RequestInit, -): Promise => { - return customFetch( - getAgentLeadCreateAgentUrl(), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(agentCreate), - }, - ); -}; - -export const getAgentLeadCreateAgentMutationOptions = < - TError = LLMErrorResponse, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { data: AgentCreate }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { data: AgentCreate }, - TContext -> => { - const mutationKey = ["agentLeadCreateAgent"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { data: AgentCreate } - > = (props) => { - const { data } = props ?? {}; - - return agentLeadCreateAgent(data, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type AgentLeadCreateAgentMutationResult = NonNullable< - Awaited> ->; -export type AgentLeadCreateAgentMutationBody = AgentCreate; -export type AgentLeadCreateAgentMutationError = LLMErrorResponse; - -/** - * @summary Create a board agent as lead - */ -export const useAgentLeadCreateAgent = < - TError = LLMErrorResponse, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { data: AgentCreate }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { data: AgentCreate }, - TContext -> => { - return useMutation( - getAgentLeadCreateAgentMutationOptions(options), - queryClient, - ); -}; /** * Return boards the authenticated agent can access. @@ -832,745 +674,36 @@ export function useGetBoardApiV1AgentBoardsBoardIdGet< } /** - * Permanently remove a board agent and tear down associated lifecycle state. + * Return agents visible to the caller, optionally filtered by board. -Use sparingly; prefer reassignment for continuity-sensitive teams. - * @summary Delete a board agent as lead +Use when downstream routing or coordination needs recipient actors. + * @summary List visible agents */ -export type agentLeadDeleteBoardAgentResponse200 = { - data: OkResponse; +export type listAgentsApiV1AgentAgentsGetResponse200 = { + data: LimitOffsetPageTypeVarCustomizedAgentRead; status: 200; }; -export type agentLeadDeleteBoardAgentResponse403 = { - data: LLMErrorResponse; - status: 403; -}; - -export type agentLeadDeleteBoardAgentResponse404 = { - data: LLMErrorResponse; - status: 404; -}; - -export type agentLeadDeleteBoardAgentResponse422 = { +export type listAgentsApiV1AgentAgentsGetResponse422 = { data: HTTPValidationError; status: 422; }; -export type agentLeadDeleteBoardAgentResponseSuccess = - agentLeadDeleteBoardAgentResponse200 & { +export type listAgentsApiV1AgentAgentsGetResponseSuccess = + listAgentsApiV1AgentAgentsGetResponse200 & { headers: Headers; }; -export type agentLeadDeleteBoardAgentResponseError = ( - | agentLeadDeleteBoardAgentResponse403 - | agentLeadDeleteBoardAgentResponse404 - | agentLeadDeleteBoardAgentResponse422 -) & { - headers: Headers; -}; - -export type agentLeadDeleteBoardAgentResponse = - | agentLeadDeleteBoardAgentResponseSuccess - | agentLeadDeleteBoardAgentResponseError; - -export const getAgentLeadDeleteBoardAgentUrl = ( - boardId: string, - agentId: string, -) => { - return `/api/v1/agent/boards/${boardId}/agents/${agentId}`; -}; - -export const agentLeadDeleteBoardAgent = async ( - boardId: string, - agentId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getAgentLeadDeleteBoardAgentUrl(boardId, agentId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getAgentLeadDeleteBoardAgentMutationOptions = < - TError = LLMErrorResponse | HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string }, - TContext -> => { - const mutationKey = ["agentLeadDeleteBoardAgent"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { boardId: string; agentId: string } - > = (props) => { - const { boardId, agentId } = props ?? {}; - - return agentLeadDeleteBoardAgent(boardId, agentId, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type AgentLeadDeleteBoardAgentMutationResult = NonNullable< - Awaited> ->; - -export type AgentLeadDeleteBoardAgentMutationError = - | LLMErrorResponse - | HTTPValidationError; - -/** - * @summary Delete a board agent as lead - */ -export const useAgentLeadDeleteBoardAgent = < - TError = LLMErrorResponse | HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { boardId: string; agentId: string }, - TContext -> => { - return useMutation( - getAgentLeadDeleteBoardAgentMutationOptions(options), - queryClient, - ); -}; -/** - * Send a direct coordination message to a specific board agent. - -Use this when a lead sees stalled, idle, or misaligned work. - * @summary Nudge an agent on a board - */ -export type agentLeadNudgeAgentResponse200 = { - data: OkResponse; - status: 200; -}; - -export type agentLeadNudgeAgentResponse403 = { - data: LLMErrorResponse; - status: 403; -}; - -export type agentLeadNudgeAgentResponse404 = { - data: LLMErrorResponse; - status: 404; -}; - -export type agentLeadNudgeAgentResponse422 = { - data: LLMErrorResponse; - status: 422; -}; - -export type agentLeadNudgeAgentResponse502 = { - data: LLMErrorResponse; - status: 502; -}; - -export type agentLeadNudgeAgentResponseSuccess = - agentLeadNudgeAgentResponse200 & { - headers: Headers; - }; -export type agentLeadNudgeAgentResponseError = ( - | agentLeadNudgeAgentResponse403 - | agentLeadNudgeAgentResponse404 - | agentLeadNudgeAgentResponse422 - | agentLeadNudgeAgentResponse502 -) & { - headers: Headers; -}; - -export type agentLeadNudgeAgentResponse = - | agentLeadNudgeAgentResponseSuccess - | agentLeadNudgeAgentResponseError; - -export const getAgentLeadNudgeAgentUrl = (boardId: string, agentId: string) => { - return `/api/v1/agent/boards/${boardId}/agents/${agentId}/nudge`; -}; - -export const agentLeadNudgeAgent = async ( - boardId: string, - agentId: string, - agentNudge: AgentNudge, - options?: RequestInit, -): Promise => { - return customFetch( - getAgentLeadNudgeAgentUrl(boardId, agentId), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(agentNudge), - }, - ); -}; - -export const getAgentLeadNudgeAgentMutationOptions = < - TError = LLMErrorResponse, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string; data: AgentNudge }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string; data: AgentNudge }, - TContext -> => { - const mutationKey = ["agentLeadNudgeAgent"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { boardId: string; agentId: string; data: AgentNudge } - > = (props) => { - const { boardId, agentId, data } = props ?? {}; - - return agentLeadNudgeAgent(boardId, agentId, data, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type AgentLeadNudgeAgentMutationResult = NonNullable< - Awaited> ->; -export type AgentLeadNudgeAgentMutationBody = AgentNudge; -export type AgentLeadNudgeAgentMutationError = LLMErrorResponse; - -/** - * @summary Nudge an agent on a board - */ -export const useAgentLeadNudgeAgent = < - TError = LLMErrorResponse, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string; data: AgentNudge }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { boardId: string; agentId: string; data: AgentNudge }, - TContext -> => { - return useMutation( - getAgentLeadNudgeAgentMutationOptions(options), - queryClient, - ); -}; -/** - * Fetch an agent's SOUL.md content. - -Allowed for board lead, or for an agent reading its own SOUL. - * @summary Get Agent Soul - */ -export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse200 = - { - data: string; - status: 200; - }; - -export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse422 = - { - data: HTTPValidationError; - status: 422; - }; - -export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseSuccess = - getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse200 & { - headers: Headers; - }; -export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseError = - getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse422 & { +export type listAgentsApiV1AgentAgentsGetResponseError = + listAgentsApiV1AgentAgentsGetResponse422 & { headers: Headers; }; -export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse = - | getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseSuccess - | getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseError; +export type listAgentsApiV1AgentAgentsGetResponse = + | listAgentsApiV1AgentAgentsGetResponseSuccess + | listAgentsApiV1AgentAgentsGetResponseError; -export const getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetUrl = ( - boardId: string, - agentId: string, -) => { - return `/api/v1/agent/boards/${boardId}/agents/${agentId}/soul`; -}; - -export const getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet = async ( - boardId: string, - agentId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetUrl( - boardId, - agentId, - ), - { - ...options, - method: "GET", - }, - ); -}; - -export const getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryKey = - (boardId: string, agentId: string) => { - return [`/api/v1/agent/boards/${boardId}/agents/${agentId}/soul`] as const; - }; - -export const getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryOptions = - < - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, - >( - boardId: string, - agentId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - ) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryKey( - boardId, - agentId, - ); - - const queryFn: QueryFunction< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - > - > = ({ signal }) => - getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet( - boardId, - agentId, - { signal, ...requestOptions }, - ); - - return { - queryKey, - queryFn, - enabled: !!(boardId && agentId), - ...queryOptions, - } as UseQueryOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - TData - > & { queryKey: DataTag }; - }; - -export type GetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryResult = - NonNullable< - Awaited< - ReturnType - > - >; -export type GetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryError = - HTTPValidationError; - -export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - agentId: string, - options: { - query: Partial< - UseQueryOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - agentId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - agentId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary Get Agent Soul - */ - -export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - agentId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType< - typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet - > - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryOptions( - boardId, - agentId, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Write SOUL.md content for a board agent and persist it for reprovisioning. - -Use this when role instructions or behavior guardrails need updates. - * @summary Update an agent's SOUL template - */ -export type agentLeadUpdateAgentSoulResponse200 = { - data: OkResponse; - status: 200; -}; - -export type agentLeadUpdateAgentSoulResponse403 = { - data: LLMErrorResponse; - status: 403; -}; - -export type agentLeadUpdateAgentSoulResponse404 = { - data: LLMErrorResponse; - status: 404; -}; - -export type agentLeadUpdateAgentSoulResponse422 = { - data: LLMErrorResponse; - status: 422; -}; - -export type agentLeadUpdateAgentSoulResponse502 = { - data: LLMErrorResponse; - status: 502; -}; - -export type agentLeadUpdateAgentSoulResponseSuccess = - agentLeadUpdateAgentSoulResponse200 & { - headers: Headers; - }; -export type agentLeadUpdateAgentSoulResponseError = ( - | agentLeadUpdateAgentSoulResponse403 - | agentLeadUpdateAgentSoulResponse404 - | agentLeadUpdateAgentSoulResponse422 - | agentLeadUpdateAgentSoulResponse502 -) & { - headers: Headers; -}; - -export type agentLeadUpdateAgentSoulResponse = - | agentLeadUpdateAgentSoulResponseSuccess - | agentLeadUpdateAgentSoulResponseError; - -export const getAgentLeadUpdateAgentSoulUrl = ( - boardId: string, - agentId: string, -) => { - return `/api/v1/agent/boards/${boardId}/agents/${agentId}/soul`; -}; - -export const agentLeadUpdateAgentSoul = async ( - boardId: string, - agentId: string, - soulUpdateRequest: SoulUpdateRequest, - options?: RequestInit, -): Promise => { - return customFetch( - getAgentLeadUpdateAgentSoulUrl(boardId, agentId), - { - ...options, - method: "PUT", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(soulUpdateRequest), - }, - ); -}; - -export const getAgentLeadUpdateAgentSoulMutationOptions = < - TError = LLMErrorResponse, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string; data: SoulUpdateRequest }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string; data: SoulUpdateRequest }, - TContext -> => { - const mutationKey = ["agentLeadUpdateAgentSoul"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { boardId: string; agentId: string; data: SoulUpdateRequest } - > = (props) => { - const { boardId, agentId, data } = props ?? {}; - - return agentLeadUpdateAgentSoul(boardId, agentId, data, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type AgentLeadUpdateAgentSoulMutationResult = NonNullable< - Awaited> ->; -export type AgentLeadUpdateAgentSoulMutationBody = SoulUpdateRequest; -export type AgentLeadUpdateAgentSoulMutationError = LLMErrorResponse; - -/** - * @summary Update an agent's SOUL template - */ -export const useAgentLeadUpdateAgentSoul = < - TError = LLMErrorResponse, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; agentId: string; data: SoulUpdateRequest }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { boardId: string; agentId: string; data: SoulUpdateRequest }, - TContext -> => { - return useMutation( - getAgentLeadUpdateAgentSoulMutationOptions(options), - queryClient, - ); -}; -/** - * List approvals for a board. - -Use status filtering to process pending approvals efficiently. - * @summary List Approvals - */ -export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse200 = { - data: LimitOffsetPageTypeVarCustomizedApprovalRead; - status: 200; -}; - -export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseSuccess = - listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse200 & { - headers: Headers; - }; -export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseError = - listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse422 & { - headers: Headers; - }; - -export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse = - | listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseSuccess - | listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseError; - -export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetUrl = ( - boardId: string, - params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, +export const getListAgentsApiV1AgentAgentsGetUrl = ( + params?: ListAgentsApiV1AgentAgentsGetParams, ) => { const normalizedParams = new URLSearchParams(); @@ -1583,17 +716,16 @@ export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetUrl = ( const stringifiedParams = normalizedParams.toString(); return stringifiedParams.length > 0 - ? `/api/v1/agent/boards/${boardId}/approvals?${stringifiedParams}` - : `/api/v1/agent/boards/${boardId}/approvals`; + ? `/api/v1/agent/agents?${stringifiedParams}` + : `/api/v1/agent/agents`; }; -export const listApprovalsApiV1AgentBoardsBoardIdApprovalsGet = async ( - boardId: string, - params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, +export const listAgentsApiV1AgentAgentsGet = async ( + params?: ListAgentsApiV1AgentAgentsGetParams, options?: RequestInit, -): Promise => { - return customFetch( - getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetUrl(boardId, params), +): Promise => { + return customFetch( + getListAgentsApiV1AgentAgentsGetUrl(params), { ...options, method: "GET", @@ -1601,30 +733,21 @@ export const listApprovalsApiV1AgentBoardsBoardIdApprovalsGet = async ( ); }; -export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryKey = ( - boardId: string, - params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, +export const getListAgentsApiV1AgentAgentsGetQueryKey = ( + params?: ListAgentsApiV1AgentAgentsGetParams, ) => { - return [ - `/api/v1/agent/boards/${boardId}/approvals`, - ...(params ? [params] : []), - ] as const; + return [`/api/v1/agent/agents`, ...(params ? [params] : [])] as const; }; -export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryOptions = < - TData = Awaited< - ReturnType - >, +export const getListAgentsApiV1AgentAgentsGetQueryOptions = < + TData = Awaited>, TError = HTTPValidationError, >( - boardId: string, - params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, + params?: ListAgentsApiV1AgentAgentsGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited< - ReturnType - >, + Awaited>, TError, TData > @@ -1635,618 +758,43 @@ export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryOptions = < const { query: queryOptions, request: requestOptions } = options ?? {}; const queryKey = - queryOptions?.queryKey ?? - getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryKey( - boardId, - params, - ); + queryOptions?.queryKey ?? getListAgentsApiV1AgentAgentsGetQueryKey(params); const queryFn: QueryFunction< - Awaited> + Awaited> > = ({ signal }) => - listApprovalsApiV1AgentBoardsBoardIdApprovalsGet(boardId, params, { - signal, - ...requestOptions, - }); + listAgentsApiV1AgentAgentsGet(params, { signal, ...requestOptions }); - return { - queryKey, - queryFn, - enabled: !!boardId, - ...queryOptions, - } as UseQueryOptions< - Awaited< - ReturnType - >, + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, TError, TData > & { queryKey: DataTag }; }; -export type ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryResult = - NonNullable< - Awaited> - >; -export type ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryError = - HTTPValidationError; - -export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params: undefined | ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, - options: { - query: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary List Approvals - */ - -export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryOptions( - boardId, - params, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Create an approval request for risky or low-confidence actions. - -Include `task_id` or `task_ids` to scope the decision precisely. - * @summary Create Approval - */ -export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse200 = { - data: ApprovalRead; - status: 200; -}; - -export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseSuccess = - createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse200 & { - headers: Headers; - }; -export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseError = - createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse422 & { - headers: Headers; - }; - -export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse = - | createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseSuccess - | createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseError; - -export const getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostUrl = ( - boardId: string, -) => { - return `/api/v1/agent/boards/${boardId}/approvals`; -}; - -export const createApprovalApiV1AgentBoardsBoardIdApprovalsPost = async ( - boardId: string, - approvalCreate: ApprovalCreate, - options?: RequestInit, -): Promise => { - return customFetch( - getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostUrl(boardId), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(approvalCreate), - }, - ); -}; - -export const getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: ApprovalCreate }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: ApprovalCreate }, - TContext - > => { - const mutationKey = ["createApprovalApiV1AgentBoardsBoardIdApprovalsPost"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType - >, - { boardId: string; data: ApprovalCreate } - > = (props) => { - const { boardId, data } = props ?? {}; - - return createApprovalApiV1AgentBoardsBoardIdApprovalsPost( - boardId, - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type CreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationResult = - NonNullable< - Awaited< - ReturnType - > - >; -export type CreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationBody = - ApprovalCreate; -export type CreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationError = - HTTPValidationError; - -/** - * @summary Create Approval - */ -export const useCreateApprovalApiV1AgentBoardsBoardIdApprovalsPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: ApprovalCreate }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: ApprovalCreate }, - TContext -> => { - return useMutation( - getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationOptions( - options, - ), - queryClient, - ); -}; -/** - * Escalate a high-impact decision or ambiguity through the gateway-main interaction channel. - -Use when lead-level context needs human confirmation or consent. - * @summary Ask the human via gateway-main - */ -export type agentLeadAskUserViaGatewayMainResponse200 = { - data: GatewayMainAskUserResponse; - status: 200; -}; - -export type agentLeadAskUserViaGatewayMainResponse403 = { - data: LLMErrorResponse; - status: 403; -}; - -export type agentLeadAskUserViaGatewayMainResponse404 = { - data: LLMErrorResponse; - status: 404; -}; - -export type agentLeadAskUserViaGatewayMainResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type agentLeadAskUserViaGatewayMainResponse502 = { - data: LLMErrorResponse; - status: 502; -}; - -export type agentLeadAskUserViaGatewayMainResponseSuccess = - agentLeadAskUserViaGatewayMainResponse200 & { - headers: Headers; - }; -export type agentLeadAskUserViaGatewayMainResponseError = ( - | agentLeadAskUserViaGatewayMainResponse403 - | agentLeadAskUserViaGatewayMainResponse404 - | agentLeadAskUserViaGatewayMainResponse422 - | agentLeadAskUserViaGatewayMainResponse502 -) & { - headers: Headers; -}; - -export type agentLeadAskUserViaGatewayMainResponse = - | agentLeadAskUserViaGatewayMainResponseSuccess - | agentLeadAskUserViaGatewayMainResponseError; - -export const getAgentLeadAskUserViaGatewayMainUrl = (boardId: string) => { - return `/api/v1/agent/boards/${boardId}/gateway/main/ask-user`; -}; - -export const agentLeadAskUserViaGatewayMain = async ( - boardId: string, - gatewayMainAskUserRequest: GatewayMainAskUserRequest, - options?: RequestInit, -): Promise => { - return customFetch( - getAgentLeadAskUserViaGatewayMainUrl(boardId), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(gatewayMainAskUserRequest), - }, - ); -}; - -export const getAgentLeadAskUserViaGatewayMainMutationOptions = < - TError = LLMErrorResponse | HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; data: GatewayMainAskUserRequest }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { boardId: string; data: GatewayMainAskUserRequest }, - TContext -> => { - const mutationKey = ["agentLeadAskUserViaGatewayMain"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { boardId: string; data: GatewayMainAskUserRequest } - > = (props) => { - const { boardId, data } = props ?? {}; - - return agentLeadAskUserViaGatewayMain(boardId, data, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type AgentLeadAskUserViaGatewayMainMutationResult = NonNullable< - Awaited> +export type ListAgentsApiV1AgentAgentsGetQueryResult = NonNullable< + Awaited> >; -export type AgentLeadAskUserViaGatewayMainMutationBody = - GatewayMainAskUserRequest; -export type AgentLeadAskUserViaGatewayMainMutationError = - | LLMErrorResponse - | HTTPValidationError; +export type ListAgentsApiV1AgentAgentsGetQueryError = HTTPValidationError; -/** - * @summary Ask the human via gateway-main - */ -export const useAgentLeadAskUserViaGatewayMain = < - TError = LLMErrorResponse | HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; data: GatewayMainAskUserRequest }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { boardId: string; data: GatewayMainAskUserRequest }, - TContext -> => { - return useMutation( - getAgentLeadAskUserViaGatewayMainMutationOptions(options), - queryClient, - ); -}; -/** - * List board memory with optional chat filtering. - -Use `is_chat=false` for durable context and `is_chat=true` for board chat. - * @summary List Board Memory - */ -export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse200 = { - data: LimitOffsetPageTypeVarCustomizedBoardMemoryRead; - status: 200; -}; - -export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseSuccess = - listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse200 & { - headers: Headers; - }; -export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseError = - listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse422 & { - headers: Headers; - }; - -export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse = - | listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseSuccess - | listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseError; - -export const getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetUrl = ( - boardId: string, - params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, -) => { - const normalizedParams = new URLSearchParams(); - - Object.entries(params || {}).forEach(([key, value]) => { - if (value !== undefined) { - normalizedParams.append(key, value === null ? "null" : value.toString()); - } - }); - - const stringifiedParams = normalizedParams.toString(); - - return stringifiedParams.length > 0 - ? `/api/v1/agent/boards/${boardId}/memory?${stringifiedParams}` - : `/api/v1/agent/boards/${boardId}/memory`; -}; - -export const listBoardMemoryApiV1AgentBoardsBoardIdMemoryGet = async ( - boardId: string, - params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, - options?: RequestInit, -): Promise => { - return customFetch( - getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetUrl(boardId, params), - { - ...options, - method: "GET", - }, - ); -}; - -export const getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryKey = ( - boardId: string, - params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, -) => { - return [ - `/api/v1/agent/boards/${boardId}/memory`, - ...(params ? [params] : []), - ] as const; -}; - -export const getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryOptions = < - TData = Awaited< - ReturnType - >, +export function useListAgentsApiV1AgentAgentsGet< + TData = Awaited>, TError = HTTPValidationError, >( - boardId: string, - params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, -) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryKey(boardId, params); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - listBoardMemoryApiV1AgentBoardsBoardIdMemoryGet(boardId, params, { - signal, - ...requestOptions, - }); - - return { - queryKey, - queryFn, - enabled: !!boardId, - ...queryOptions, - } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryResult = - NonNullable< - Awaited> - >; -export type ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryError = - HTTPValidationError; - -export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params: undefined | ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + params: undefined | ListAgentsApiV1AgentAgentsGetParams, options: { query: Partial< UseQueryOptions< - Awaited< - ReturnType - >, + Awaited>, TError, TData > > & Pick< DefinedInitialDataOptions< - Awaited< - ReturnType - >, + Awaited>, TError, - Awaited< - ReturnType - > + Awaited> >, "initialData" >; @@ -2256,33 +804,24 @@ export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< ): DefinedUseQueryResult & { queryKey: DataTag; }; -export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< - TData = Awaited< - ReturnType - >, +export function useListAgentsApiV1AgentAgentsGet< + TData = Awaited>, TError = HTTPValidationError, >( - boardId: string, - params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + params?: ListAgentsApiV1AgentAgentsGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited< - ReturnType - >, + Awaited>, TError, TData > > & Pick< UndefinedInitialDataOptions< - Awaited< - ReturnType - >, + Awaited>, TError, - Awaited< - ReturnType - > + Awaited> >, "initialData" >; @@ -2292,20 +831,15 @@ export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< ): UseQueryResult & { queryKey: DataTag; }; -export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< - TData = Awaited< - ReturnType - >, +export function useListAgentsApiV1AgentAgentsGet< + TData = Awaited>, TError = HTTPValidationError, >( - boardId: string, - params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + params?: ListAgentsApiV1AgentAgentsGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited< - ReturnType - >, + Awaited>, TError, TData > @@ -2317,23 +851,18 @@ export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< queryKey: DataTag; }; /** - * @summary List Board Memory + * @summary List visible agents */ -export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< - TData = Awaited< - ReturnType - >, +export function useListAgentsApiV1AgentAgentsGet< + TData = Awaited>, TError = HTTPValidationError, >( - boardId: string, - params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + params?: ListAgentsApiV1AgentAgentsGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited< - ReturnType - >, + Awaited>, TError, TData > @@ -2344,527 +873,8 @@ export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< ): UseQueryResult & { queryKey: DataTag; } { - const queryOptions = - getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryOptions( - boardId, - params, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Create a board memory entry. - -Use tags to indicate purpose (e.g. `chat`, `decision`, `plan`, `handoff`). - * @summary Create Board Memory - */ -export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse200 = { - data: BoardMemoryRead; - status: 200; -}; - -export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseSuccess = - createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse200 & { - headers: Headers; - }; -export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseError = - createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse422 & { - headers: Headers; - }; - -export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse = - | createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseSuccess - | createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseError; - -export const getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostUrl = ( - boardId: string, -) => { - return `/api/v1/agent/boards/${boardId}/memory`; -}; - -export const createBoardMemoryApiV1AgentBoardsBoardIdMemoryPost = async ( - boardId: string, - boardMemoryCreate: BoardMemoryCreate, - options?: RequestInit, -): Promise => { - return customFetch( - getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostUrl(boardId), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(boardMemoryCreate), - }, - ); -}; - -export const getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardMemoryCreate }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardMemoryCreate }, - TContext - > => { - const mutationKey = ["createBoardMemoryApiV1AgentBoardsBoardIdMemoryPost"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType - >, - { boardId: string; data: BoardMemoryCreate } - > = (props) => { - const { boardId, data } = props ?? {}; - - return createBoardMemoryApiV1AgentBoardsBoardIdMemoryPost( - boardId, - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type CreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationResult = - NonNullable< - Awaited< - ReturnType - > - >; -export type CreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationBody = - BoardMemoryCreate; -export type CreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationError = - HTTPValidationError; - -/** - * @summary Create Board Memory - */ -export const useCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardMemoryCreate }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardMemoryCreate }, - TContext -> => { - return useMutation( - getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationOptions( - options, - ), - queryClient, - ); -}; -/** - * Apply board onboarding updates from an agent workflow. - -Used during structured objective/success-metric intake loops. - * @summary Update Onboarding - */ -export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse200 = { - data: BoardOnboardingRead; - status: 200; -}; - -export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseSuccess = - updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse200 & { - headers: Headers; - }; -export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseError = - updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse422 & { - headers: Headers; - }; - -export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse = - | updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseSuccess - | updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseError; - -export const getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostUrl = ( - boardId: string, -) => { - return `/api/v1/agent/boards/${boardId}/onboarding`; -}; - -export const updateOnboardingApiV1AgentBoardsBoardIdOnboardingPost = async ( - boardId: string, - boardOnboardingAgentCompleteBoardOnboardingAgentQuestion: - | BoardOnboardingAgentComplete - | BoardOnboardingAgentQuestion, - options?: RequestInit, -): Promise => { - return customFetch( - getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostUrl(boardId), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify( - boardOnboardingAgentCompleteBoardOnboardingAgentQuestion, - ), - }, - ); -}; - -export const getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { - boardId: string; - data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; - }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { - boardId: string; - data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; - }, - TContext - > => { - const mutationKey = [ - "updateOnboardingApiV1AgentBoardsBoardIdOnboardingPost", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType - >, - { - boardId: string; - data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; - } - > = (props) => { - const { boardId, data } = props ?? {}; - - return updateOnboardingApiV1AgentBoardsBoardIdOnboardingPost( - boardId, - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type UpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationResult = - NonNullable< - Awaited< - ReturnType - > - >; -export type UpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationBody = - | BoardOnboardingAgentComplete - | BoardOnboardingAgentQuestion; -export type UpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationError = - HTTPValidationError; - -/** - * @summary Update Onboarding - */ -export const useUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { - boardId: string; - data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; - }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { - boardId: string; - data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; - }, - TContext -> => { - return useMutation( - getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationOptions( - options, - ), - queryClient, - ); -}; -/** - * List available tags for the board's organization. - -Use returned ids in task create/update payloads (`tag_ids`). - * @summary List Tags - */ -export type listTagsApiV1AgentBoardsBoardIdTagsGetResponse200 = { - data: TagRef[]; - status: 200; -}; - -export type listTagsApiV1AgentBoardsBoardIdTagsGetResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type listTagsApiV1AgentBoardsBoardIdTagsGetResponseSuccess = - listTagsApiV1AgentBoardsBoardIdTagsGetResponse200 & { - headers: Headers; - }; -export type listTagsApiV1AgentBoardsBoardIdTagsGetResponseError = - listTagsApiV1AgentBoardsBoardIdTagsGetResponse422 & { - headers: Headers; - }; - -export type listTagsApiV1AgentBoardsBoardIdTagsGetResponse = - | listTagsApiV1AgentBoardsBoardIdTagsGetResponseSuccess - | listTagsApiV1AgentBoardsBoardIdTagsGetResponseError; - -export const getListTagsApiV1AgentBoardsBoardIdTagsGetUrl = ( - boardId: string, -) => { - return `/api/v1/agent/boards/${boardId}/tags`; -}; - -export const listTagsApiV1AgentBoardsBoardIdTagsGet = async ( - boardId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getListTagsApiV1AgentBoardsBoardIdTagsGetUrl(boardId), - { - ...options, - method: "GET", - }, - ); -}; - -export const getListTagsApiV1AgentBoardsBoardIdTagsGetQueryKey = ( - boardId: string, -) => { - return [`/api/v1/agent/boards/${boardId}/tags`] as const; -}; - -export const getListTagsApiV1AgentBoardsBoardIdTagsGetQueryOptions = < - TData = Awaited>, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, -) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getListTagsApiV1AgentBoardsBoardIdTagsGetQueryKey(boardId); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - listTagsApiV1AgentBoardsBoardIdTagsGet(boardId, { - signal, - ...requestOptions, - }); - - return { - queryKey, - queryFn, - enabled: !!boardId, - ...queryOptions, - } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type ListTagsApiV1AgentBoardsBoardIdTagsGetQueryResult = NonNullable< - Awaited> ->; -export type ListTagsApiV1AgentBoardsBoardIdTagsGetQueryError = - HTTPValidationError; - -export function useListTagsApiV1AgentBoardsBoardIdTagsGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - boardId: string, - options: { - query: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited>, - TError, - Awaited> - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useListTagsApiV1AgentBoardsBoardIdTagsGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited>, - TError, - Awaited> - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useListTagsApiV1AgentBoardsBoardIdTagsGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary List Tags - */ - -export function useListTagsApiV1AgentBoardsBoardIdTagsGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = getListTagsApiV1AgentBoardsBoardIdTagsGetQueryOptions( - boardId, + const queryOptions = getListAgentsApiV1AgentAgentsGetQueryOptions( + params, options, ); @@ -2876,6 +886,139 @@ export function useListTagsApiV1AgentBoardsBoardIdTagsGet< return { ...query, queryKey: queryOptions.queryKey }; } +/** + * Register a new board agent and attach it to the lead's board. + +The target board is derived from the caller identity and cannot be changed in payload. + * @summary Create a board agent as lead + */ +export type agentLeadCreateAgentResponse200 = { + data: AgentRead; + status: 200; +}; + +export type agentLeadCreateAgentResponse403 = { + data: LLMErrorResponse; + status: 403; +}; + +export type agentLeadCreateAgentResponse409 = { + data: LLMErrorResponse; + status: 409; +}; + +export type agentLeadCreateAgentResponse422 = { + data: LLMErrorResponse; + status: 422; +}; + +export type agentLeadCreateAgentResponseSuccess = + agentLeadCreateAgentResponse200 & { + headers: Headers; + }; +export type agentLeadCreateAgentResponseError = ( + | agentLeadCreateAgentResponse403 + | agentLeadCreateAgentResponse409 + | agentLeadCreateAgentResponse422 +) & { + headers: Headers; +}; + +export type agentLeadCreateAgentResponse = + | agentLeadCreateAgentResponseSuccess + | agentLeadCreateAgentResponseError; + +export const getAgentLeadCreateAgentUrl = () => { + return `/api/v1/agent/agents`; +}; + +export const agentLeadCreateAgent = async ( + agentCreate: AgentCreate, + options?: RequestInit, +): Promise => { + return customFetch( + getAgentLeadCreateAgentUrl(), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(agentCreate), + }, + ); +}; + +export const getAgentLeadCreateAgentMutationOptions = < + TError = LLMErrorResponse, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: AgentCreate }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { data: AgentCreate }, + TContext +> => { + const mutationKey = ["agentLeadCreateAgent"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { data: AgentCreate } + > = (props) => { + const { data } = props ?? {}; + + return agentLeadCreateAgent(data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type AgentLeadCreateAgentMutationResult = NonNullable< + Awaited> +>; +export type AgentLeadCreateAgentMutationBody = AgentCreate; +export type AgentLeadCreateAgentMutationError = LLMErrorResponse; + +/** + * @summary Create a board agent as lead + */ +export const useAgentLeadCreateAgent = < + TError = LLMErrorResponse, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: AgentCreate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { data: AgentCreate }, + TContext +> => { + return useMutation( + getAgentLeadCreateAgentMutationOptions(options), + queryClient, + ); +}; /** * List tasks on a board with status/assignment filters. @@ -3255,145 +1398,568 @@ export const useAgentLeadCreateTask = < ); }; /** - * Delete a board task and related records. + * List available tags for the board's organization. -This action is restricted to board lead agents. - * @summary Delete a task as board lead +Use returned ids in task create/update payloads (`tag_ids`). + * @summary List Tags */ -export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse200 = { - data: OkResponse; +export type listTagsApiV1AgentBoardsBoardIdTagsGetResponse200 = { + data: TagRef[]; status: 200; }; -export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse422 = { +export type listTagsApiV1AgentBoardsBoardIdTagsGetResponse422 = { data: HTTPValidationError; status: 422; }; -export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseSuccess = - deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse200 & { +export type listTagsApiV1AgentBoardsBoardIdTagsGetResponseSuccess = + listTagsApiV1AgentBoardsBoardIdTagsGetResponse200 & { headers: Headers; }; -export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseError = - deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse422 & { +export type listTagsApiV1AgentBoardsBoardIdTagsGetResponseError = + listTagsApiV1AgentBoardsBoardIdTagsGetResponse422 & { headers: Headers; }; -export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse = - | deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseSuccess - | deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseError; +export type listTagsApiV1AgentBoardsBoardIdTagsGetResponse = + | listTagsApiV1AgentBoardsBoardIdTagsGetResponseSuccess + | listTagsApiV1AgentBoardsBoardIdTagsGetResponseError; -export const getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteUrl = ( +export const getListTagsApiV1AgentBoardsBoardIdTagsGetUrl = ( boardId: string, - taskId: string, ) => { - return `/api/v1/agent/boards/${boardId}/tasks/${taskId}`; + return `/api/v1/agent/boards/${boardId}/tags`; }; -export const deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete = async ( +export const listTagsApiV1AgentBoardsBoardIdTagsGet = async ( boardId: string, - taskId: string, options?: RequestInit, -): Promise => { - return customFetch( - getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteUrl(boardId, taskId), +): Promise => { + return customFetch( + getListTagsApiV1AgentBoardsBoardIdTagsGetUrl(boardId), { ...options, - method: "DELETE", + method: "GET", }, ); }; -export const getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; taskId: string }, - TContext +export const getListTagsApiV1AgentBoardsBoardIdTagsGetQueryKey = ( + boardId: string, +) => { + return [`/api/v1/agent/boards/${boardId}/tags`] as const; +}; + +export const getListTagsApiV1AgentBoardsBoardIdTagsGetQueryOptions = < + TData = Awaited>, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > >; request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType - >, + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListTagsApiV1AgentBoardsBoardIdTagsGetQueryKey(boardId); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listTagsApiV1AgentBoardsBoardIdTagsGet(boardId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!boardId, + ...queryOptions, + } as UseQueryOptions< + Awaited>, TError, - { boardId: string; taskId: string }, - TContext - > => { - const mutationKey = ["deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; + TData + > & { queryKey: DataTag }; +}; - const mutationFn: MutationFunction< - Awaited< - ReturnType - >, - { boardId: string; taskId: string } - > = (props) => { - const { boardId, taskId } = props ?? {}; - - return deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete( - boardId, - taskId, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type DeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationResult = - NonNullable< - Awaited< - ReturnType - > - >; - -export type DeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationError = +export type ListTagsApiV1AgentBoardsBoardIdTagsGetQueryResult = NonNullable< + Awaited> +>; +export type ListTagsApiV1AgentBoardsBoardIdTagsGetQueryError = HTTPValidationError; -/** - * @summary Delete a task as board lead - */ -export const useDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete = < +export function useListTagsApiV1AgentBoardsBoardIdTagsGet< + TData = Awaited>, TError = HTTPValidationError, - TContext = unknown, >( + boardId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListTagsApiV1AgentBoardsBoardIdTagsGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + boardId: string, options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; taskId: string }, - TContext + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListTagsApiV1AgentBoardsBoardIdTagsGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > >; request?: SecondParameter; }, queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { boardId: string; taskId: string }, - TContext -> => { - return useMutation( - getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationOptions( - options, - ), - queryClient, - ); +): UseQueryResult & { + queryKey: DataTag; }; +/** + * @summary List Tags + */ + +export function useListTagsApiV1AgentBoardsBoardIdTagsGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = getListTagsApiV1AgentBoardsBoardIdTagsGetQueryOptions( + boardId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Fetch a stored webhook payload (agent-accessible, read-only). + +This enables board-scoped agents to backfill dropped webhook events and enforce +idempotency by inspecting previously received payloads. + +If `max_chars` is provided and the serialized payload exceeds the limit, +the response payload is returned as a truncated string preview. + * @summary Get Webhook Payload + */ +export type getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponse200 = + { + data: BoardWebhookPayloadRead; + status: 200; + }; + +export type getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponseSuccess = + getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponse200 & { + headers: Headers; + }; +export type getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponseError = + getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponse422 & { + headers: Headers; + }; + +export type getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponse = + + | getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponseSuccess + | getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetResponseError; + +export const getGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetUrl = + ( + boardId: string, + webhookId: string, + payloadId: string, + params?: GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + ) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append( + key, + value === null ? "null" : value.toString(), + ); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/agent/boards/${boardId}/webhooks/${webhookId}/payloads/${payloadId}?${stringifiedParams}` + : `/api/v1/agent/boards/${boardId}/webhooks/${webhookId}/payloads/${payloadId}`; + }; + +export const getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet = + async ( + boardId: string, + webhookId: string, + payloadId: string, + params?: GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + options?: RequestInit, + ): Promise => { + return customFetch( + getGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetUrl( + boardId, + webhookId, + payloadId, + params, + ), + { + ...options, + method: "GET", + }, + ); + }; + +export const getGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetQueryKey = + ( + boardId: string, + webhookId: string, + payloadId: string, + params?: GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + ) => { + return [ + `/api/v1/agent/boards/${boardId}/webhooks/${webhookId}/payloads/${payloadId}`, + ...(params ? [params] : []), + ] as const; + }; + +export const getGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetQueryOptions = + < + TData = Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError = HTTPValidationError, + >( + boardId: string, + webhookId: string, + payloadId: string, + params?: GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetQueryKey( + boardId, + webhookId, + payloadId, + params, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + > + > = ({ signal }) => + getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet( + boardId, + webhookId, + payloadId, + params, + { signal, ...requestOptions }, + ); + + return { + queryKey, + queryFn, + enabled: !!(boardId && webhookId && payloadId), + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetQueryResult = + NonNullable< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + > + >; +export type GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetQueryError = + HTTPValidationError; + +export function useGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet< + TData = Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + webhookId: string, + payloadId: string, + params: + | undefined + | GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet< + TData = Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + webhookId: string, + payloadId: string, + params?: GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet< + TData = Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + webhookId: string, + payloadId: string, + params?: GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get Webhook Payload + */ + +export function useGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet< + TData = Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + webhookId: string, + payloadId: string, + params?: GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetQueryOptions( + boardId, + webhookId, + payloadId, + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + /** * Update a task after board-level authorization checks. @@ -3537,6 +2103,146 @@ export const useUpdateTaskApiV1AgentBoardsBoardIdTasksTaskIdPatch = < queryClient, ); }; +/** + * Delete a board task and related records. + +This action is restricted to board lead agents. + * @summary Delete a task as board lead + */ +export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseSuccess = + deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseError = + deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponse = + | deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseSuccess + | deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteResponseError; + +export const getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteUrl = ( + boardId: string, + taskId: string, +) => { + return `/api/v1/agent/boards/${boardId}/tasks/${taskId}`; +}; + +export const deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete = async ( + boardId: string, + taskId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteUrl(boardId, taskId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; taskId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; taskId: string }, + TContext + > => { + const mutationKey = ["deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType + >, + { boardId: string; taskId: string } + > = (props) => { + const { boardId, taskId } = props ?? {}; + + return deleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete( + boardId, + taskId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type DeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationResult = + NonNullable< + Awaited< + ReturnType + > + >; + +export type DeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete a task as board lead + */ +export const useDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; taskId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { boardId: string; taskId: string }, + TContext +> => { + return useMutation( + getDeleteTaskApiV1AgentBoardsBoardIdTasksTaskIdDeleteMutationOptions( + options, + ), + queryClient, + ); +}; /** * List task comments visible to the authenticated agent. @@ -4035,6 +2741,1956 @@ export const useCreateTaskCommentApiV1AgentBoardsBoardIdTasksTaskIdCommentsPost queryClient, ); }; +/** + * List board memory with optional chat filtering. + +Use `is_chat=false` for durable context and `is_chat=true` for board chat. + * @summary List Board Memory + */ +export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse200 = { + data: LimitOffsetPageTypeVarCustomizedBoardMemoryRead; + status: 200; +}; + +export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseSuccess = + listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse200 & { + headers: Headers; + }; +export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseError = + listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse422 & { + headers: Headers; + }; + +export type listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponse = + | listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseSuccess + | listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetResponseError; + +export const getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetUrl = ( + boardId: string, + params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/agent/boards/${boardId}/memory?${stringifiedParams}` + : `/api/v1/agent/boards/${boardId}/memory`; +}; + +export const listBoardMemoryApiV1AgentBoardsBoardIdMemoryGet = async ( + boardId: string, + params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetUrl(boardId, params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryKey = ( + boardId: string, + params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, +) => { + return [ + `/api/v1/agent/boards/${boardId}/memory`, + ...(params ? [params] : []), + ] as const; +}; + +export const getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryKey(boardId, params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listBoardMemoryApiV1AgentBoardsBoardIdMemoryGet(boardId, params, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!boardId, + ...queryOptions, + } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryResult = + NonNullable< + Awaited> + >; +export type ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryError = + HTTPValidationError; + +export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params: undefined | ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Board Memory + */ + +export function useListBoardMemoryApiV1AgentBoardsBoardIdMemoryGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListBoardMemoryApiV1AgentBoardsBoardIdMemoryGetQueryOptions( + boardId, + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Create a board memory entry. + +Use tags to indicate purpose (e.g. `chat`, `decision`, `plan`, `handoff`). + * @summary Create Board Memory + */ +export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse200 = { + data: BoardMemoryRead; + status: 200; +}; + +export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseSuccess = + createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse200 & { + headers: Headers; + }; +export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseError = + createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse422 & { + headers: Headers; + }; + +export type createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponse = + | createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseSuccess + | createBoardMemoryApiV1AgentBoardsBoardIdMemoryPostResponseError; + +export const getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostUrl = ( + boardId: string, +) => { + return `/api/v1/agent/boards/${boardId}/memory`; +}; + +export const createBoardMemoryApiV1AgentBoardsBoardIdMemoryPost = async ( + boardId: string, + boardMemoryCreate: BoardMemoryCreate, + options?: RequestInit, +): Promise => { + return customFetch( + getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostUrl(boardId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(boardMemoryCreate), + }, + ); +}; + +export const getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardMemoryCreate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardMemoryCreate }, + TContext + > => { + const mutationKey = ["createBoardMemoryApiV1AgentBoardsBoardIdMemoryPost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType + >, + { boardId: string; data: BoardMemoryCreate } + > = (props) => { + const { boardId, data } = props ?? {}; + + return createBoardMemoryApiV1AgentBoardsBoardIdMemoryPost( + boardId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type CreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type CreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationBody = + BoardMemoryCreate; +export type CreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationError = + HTTPValidationError; + +/** + * @summary Create Board Memory + */ +export const useCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardMemoryCreate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardMemoryCreate }, + TContext +> => { + return useMutation( + getCreateBoardMemoryApiV1AgentBoardsBoardIdMemoryPostMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * List approvals for a board. + +Use status filtering to process pending approvals efficiently. + * @summary List Approvals + */ +export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse200 = { + data: LimitOffsetPageTypeVarCustomizedApprovalRead; + status: 200; +}; + +export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseSuccess = + listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse200 & { + headers: Headers; + }; +export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseError = + listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse422 & { + headers: Headers; + }; + +export type listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponse = + | listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseSuccess + | listApprovalsApiV1AgentBoardsBoardIdApprovalsGetResponseError; + +export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetUrl = ( + boardId: string, + params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/agent/boards/${boardId}/approvals?${stringifiedParams}` + : `/api/v1/agent/boards/${boardId}/approvals`; +}; + +export const listApprovalsApiV1AgentBoardsBoardIdApprovalsGet = async ( + boardId: string, + params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetUrl(boardId, params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryKey = ( + boardId: string, + params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, +) => { + return [ + `/api/v1/agent/boards/${boardId}/approvals`, + ...(params ? [params] : []), + ] as const; +}; + +export const getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryKey( + boardId, + params, + ); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listApprovalsApiV1AgentBoardsBoardIdApprovalsGet(boardId, params, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!boardId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryResult = + NonNullable< + Awaited> + >; +export type ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryError = + HTTPValidationError; + +export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params: undefined | ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Approvals + */ + +export function useListApprovalsApiV1AgentBoardsBoardIdApprovalsGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: ListApprovalsApiV1AgentBoardsBoardIdApprovalsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListApprovalsApiV1AgentBoardsBoardIdApprovalsGetQueryOptions( + boardId, + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Create an approval request for risky or low-confidence actions. + +Include `task_id` or `task_ids` to scope the decision precisely. + * @summary Create Approval + */ +export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse200 = { + data: ApprovalRead; + status: 200; +}; + +export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseSuccess = + createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse200 & { + headers: Headers; + }; +export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseError = + createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse422 & { + headers: Headers; + }; + +export type createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponse = + | createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseSuccess + | createApprovalApiV1AgentBoardsBoardIdApprovalsPostResponseError; + +export const getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostUrl = ( + boardId: string, +) => { + return `/api/v1/agent/boards/${boardId}/approvals`; +}; + +export const createApprovalApiV1AgentBoardsBoardIdApprovalsPost = async ( + boardId: string, + approvalCreate: ApprovalCreate, + options?: RequestInit, +): Promise => { + return customFetch( + getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostUrl(boardId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(approvalCreate), + }, + ); +}; + +export const getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: ApprovalCreate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: ApprovalCreate }, + TContext + > => { + const mutationKey = ["createApprovalApiV1AgentBoardsBoardIdApprovalsPost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType + >, + { boardId: string; data: ApprovalCreate } + > = (props) => { + const { boardId, data } = props ?? {}; + + return createApprovalApiV1AgentBoardsBoardIdApprovalsPost( + boardId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type CreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type CreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationBody = + ApprovalCreate; +export type CreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationError = + HTTPValidationError; + +/** + * @summary Create Approval + */ +export const useCreateApprovalApiV1AgentBoardsBoardIdApprovalsPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: ApprovalCreate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: ApprovalCreate }, + TContext +> => { + return useMutation( + getCreateApprovalApiV1AgentBoardsBoardIdApprovalsPostMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Apply board onboarding updates from an agent workflow. + +Used during structured objective/success-metric intake loops. + * @summary Update Onboarding + */ +export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse200 = { + data: BoardOnboardingRead; + status: 200; +}; + +export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseSuccess = + updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse200 & { + headers: Headers; + }; +export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseError = + updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse422 & { + headers: Headers; + }; + +export type updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponse = + | updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseSuccess + | updateOnboardingApiV1AgentBoardsBoardIdOnboardingPostResponseError; + +export const getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostUrl = ( + boardId: string, +) => { + return `/api/v1/agent/boards/${boardId}/onboarding`; +}; + +export const updateOnboardingApiV1AgentBoardsBoardIdOnboardingPost = async ( + boardId: string, + boardOnboardingAgentCompleteBoardOnboardingAgentQuestion: + | BoardOnboardingAgentComplete + | BoardOnboardingAgentQuestion, + options?: RequestInit, +): Promise => { + return customFetch( + getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostUrl(boardId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify( + boardOnboardingAgentCompleteBoardOnboardingAgentQuestion, + ), + }, + ); +}; + +export const getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { + boardId: string; + data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; + }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { + boardId: string; + data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; + }, + TContext + > => { + const mutationKey = [ + "updateOnboardingApiV1AgentBoardsBoardIdOnboardingPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType + >, + { + boardId: string; + data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; + } + > = (props) => { + const { boardId, data } = props ?? {}; + + return updateOnboardingApiV1AgentBoardsBoardIdOnboardingPost( + boardId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type UpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type UpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationBody = + | BoardOnboardingAgentComplete + | BoardOnboardingAgentQuestion; +export type UpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationError = + HTTPValidationError; + +/** + * @summary Update Onboarding + */ +export const useUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { + boardId: string; + data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; + }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { + boardId: string; + data: BoardOnboardingAgentComplete | BoardOnboardingAgentQuestion; + }, + TContext +> => { + return useMutation( + getUpdateOnboardingApiV1AgentBoardsBoardIdOnboardingPostMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Send a direct coordination message to a specific board agent. + +Use this when a lead sees stalled, idle, or misaligned work. + * @summary Nudge an agent on a board + */ +export type agentLeadNudgeAgentResponse200 = { + data: OkResponse; + status: 200; +}; + +export type agentLeadNudgeAgentResponse403 = { + data: LLMErrorResponse; + status: 403; +}; + +export type agentLeadNudgeAgentResponse404 = { + data: LLMErrorResponse; + status: 404; +}; + +export type agentLeadNudgeAgentResponse422 = { + data: LLMErrorResponse; + status: 422; +}; + +export type agentLeadNudgeAgentResponse502 = { + data: LLMErrorResponse; + status: 502; +}; + +export type agentLeadNudgeAgentResponseSuccess = + agentLeadNudgeAgentResponse200 & { + headers: Headers; + }; +export type agentLeadNudgeAgentResponseError = ( + | agentLeadNudgeAgentResponse403 + | agentLeadNudgeAgentResponse404 + | agentLeadNudgeAgentResponse422 + | agentLeadNudgeAgentResponse502 +) & { + headers: Headers; +}; + +export type agentLeadNudgeAgentResponse = + | agentLeadNudgeAgentResponseSuccess + | agentLeadNudgeAgentResponseError; + +export const getAgentLeadNudgeAgentUrl = (boardId: string, agentId: string) => { + return `/api/v1/agent/boards/${boardId}/agents/${agentId}/nudge`; +}; + +export const agentLeadNudgeAgent = async ( + boardId: string, + agentId: string, + agentNudge: AgentNudge, + options?: RequestInit, +): Promise => { + return customFetch( + getAgentLeadNudgeAgentUrl(boardId, agentId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(agentNudge), + }, + ); +}; + +export const getAgentLeadNudgeAgentMutationOptions = < + TError = LLMErrorResponse, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string; data: AgentNudge }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string; data: AgentNudge }, + TContext +> => { + const mutationKey = ["agentLeadNudgeAgent"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { boardId: string; agentId: string; data: AgentNudge } + > = (props) => { + const { boardId, agentId, data } = props ?? {}; + + return agentLeadNudgeAgent(boardId, agentId, data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type AgentLeadNudgeAgentMutationResult = NonNullable< + Awaited> +>; +export type AgentLeadNudgeAgentMutationBody = AgentNudge; +export type AgentLeadNudgeAgentMutationError = LLMErrorResponse; + +/** + * @summary Nudge an agent on a board + */ +export const useAgentLeadNudgeAgent = < + TError = LLMErrorResponse, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string; data: AgentNudge }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { boardId: string; agentId: string; data: AgentNudge }, + TContext +> => { + return useMutation( + getAgentLeadNudgeAgentMutationOptions(options), + queryClient, + ); +}; +/** + * Record liveness for the authenticated agent. + +Use this when the agent heartbeat loop checks in. + * @summary Upsert agent heartbeat + */ +export type agentHeartbeatApiV1AgentHeartbeatPostResponse200 = { + data: AgentRead; + status: 200; +}; + +export type agentHeartbeatApiV1AgentHeartbeatPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type agentHeartbeatApiV1AgentHeartbeatPostResponseSuccess = + agentHeartbeatApiV1AgentHeartbeatPostResponse200 & { + headers: Headers; + }; +export type agentHeartbeatApiV1AgentHeartbeatPostResponseError = + agentHeartbeatApiV1AgentHeartbeatPostResponse422 & { + headers: Headers; + }; + +export type agentHeartbeatApiV1AgentHeartbeatPostResponse = + | agentHeartbeatApiV1AgentHeartbeatPostResponseSuccess + | agentHeartbeatApiV1AgentHeartbeatPostResponseError; + +export const getAgentHeartbeatApiV1AgentHeartbeatPostUrl = () => { + return `/api/v1/agent/heartbeat`; +}; + +export const agentHeartbeatApiV1AgentHeartbeatPost = async ( + options?: RequestInit, +): Promise => { + return customFetch( + getAgentHeartbeatApiV1AgentHeartbeatPostUrl(), + { + ...options, + method: "POST", + }, + ); +}; + +export const getAgentHeartbeatApiV1AgentHeartbeatPostMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + void, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + void, + TContext +> => { + const mutationKey = ["agentHeartbeatApiV1AgentHeartbeatPost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + void + > = () => { + return agentHeartbeatApiV1AgentHeartbeatPost(requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type AgentHeartbeatApiV1AgentHeartbeatPostMutationResult = NonNullable< + Awaited> +>; + +export type AgentHeartbeatApiV1AgentHeartbeatPostMutationError = + HTTPValidationError; + +/** + * @summary Upsert agent heartbeat + */ +export const useAgentHeartbeatApiV1AgentHeartbeatPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + void, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + void, + TContext +> => { + return useMutation( + getAgentHeartbeatApiV1AgentHeartbeatPostMutationOptions(options), + queryClient, + ); +}; +/** + * Fetch an agent's SOUL.md content. + +Allowed for board lead, or for an agent reading its own SOUL. + * @summary Get Agent Soul + */ +export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse200 = + { + data: string; + status: 200; + }; + +export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseSuccess = + getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse200 & { + headers: Headers; + }; +export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseError = + getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse422 & { + headers: Headers; + }; + +export type getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponse = + | getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseSuccess + | getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetResponseError; + +export const getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetUrl = ( + boardId: string, + agentId: string, +) => { + return `/api/v1/agent/boards/${boardId}/agents/${agentId}/soul`; +}; + +export const getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet = async ( + boardId: string, + agentId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetUrl( + boardId, + agentId, + ), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryKey = + (boardId: string, agentId: string) => { + return [`/api/v1/agent/boards/${boardId}/agents/${agentId}/soul`] as const; + }; + +export const getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryOptions = + < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, + >( + boardId: string, + agentId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryKey( + boardId, + agentId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + > + > = ({ signal }) => + getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet( + boardId, + agentId, + { signal, ...requestOptions }, + ); + + return { + queryKey, + queryFn, + enabled: !!(boardId && agentId), + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type GetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type GetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryError = + HTTPValidationError; + +export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + agentId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + agentId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + agentId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get Agent Soul + */ + +export function useGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + agentId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetAgentSoulApiV1AgentBoardsBoardIdAgentsAgentIdSoulGetQueryOptions( + boardId, + agentId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Write SOUL.md content for a board agent and persist it for reprovisioning. + +Use this when role instructions or behavior guardrails need updates. + * @summary Update an agent's SOUL template + */ +export type agentLeadUpdateAgentSoulResponse200 = { + data: OkResponse; + status: 200; +}; + +export type agentLeadUpdateAgentSoulResponse403 = { + data: LLMErrorResponse; + status: 403; +}; + +export type agentLeadUpdateAgentSoulResponse404 = { + data: LLMErrorResponse; + status: 404; +}; + +export type agentLeadUpdateAgentSoulResponse422 = { + data: LLMErrorResponse; + status: 422; +}; + +export type agentLeadUpdateAgentSoulResponse502 = { + data: LLMErrorResponse; + status: 502; +}; + +export type agentLeadUpdateAgentSoulResponseSuccess = + agentLeadUpdateAgentSoulResponse200 & { + headers: Headers; + }; +export type agentLeadUpdateAgentSoulResponseError = ( + | agentLeadUpdateAgentSoulResponse403 + | agentLeadUpdateAgentSoulResponse404 + | agentLeadUpdateAgentSoulResponse422 + | agentLeadUpdateAgentSoulResponse502 +) & { + headers: Headers; +}; + +export type agentLeadUpdateAgentSoulResponse = + | agentLeadUpdateAgentSoulResponseSuccess + | agentLeadUpdateAgentSoulResponseError; + +export const getAgentLeadUpdateAgentSoulUrl = ( + boardId: string, + agentId: string, +) => { + return `/api/v1/agent/boards/${boardId}/agents/${agentId}/soul`; +}; + +export const agentLeadUpdateAgentSoul = async ( + boardId: string, + agentId: string, + soulUpdateRequest: SoulUpdateRequest, + options?: RequestInit, +): Promise => { + return customFetch( + getAgentLeadUpdateAgentSoulUrl(boardId, agentId), + { + ...options, + method: "PUT", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(soulUpdateRequest), + }, + ); +}; + +export const getAgentLeadUpdateAgentSoulMutationOptions = < + TError = LLMErrorResponse, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string; data: SoulUpdateRequest }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string; data: SoulUpdateRequest }, + TContext +> => { + const mutationKey = ["agentLeadUpdateAgentSoul"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { boardId: string; agentId: string; data: SoulUpdateRequest } + > = (props) => { + const { boardId, agentId, data } = props ?? {}; + + return agentLeadUpdateAgentSoul(boardId, agentId, data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type AgentLeadUpdateAgentSoulMutationResult = NonNullable< + Awaited> +>; +export type AgentLeadUpdateAgentSoulMutationBody = SoulUpdateRequest; +export type AgentLeadUpdateAgentSoulMutationError = LLMErrorResponse; + +/** + * @summary Update an agent's SOUL template + */ +export const useAgentLeadUpdateAgentSoul = < + TError = LLMErrorResponse, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string; data: SoulUpdateRequest }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { boardId: string; agentId: string; data: SoulUpdateRequest }, + TContext +> => { + return useMutation( + getAgentLeadUpdateAgentSoulMutationOptions(options), + queryClient, + ); +}; +/** + * Permanently remove a board agent and tear down associated lifecycle state. + +Use sparingly; prefer reassignment for continuity-sensitive teams. + * @summary Delete a board agent as lead + */ +export type agentLeadDeleteBoardAgentResponse200 = { + data: OkResponse; + status: 200; +}; + +export type agentLeadDeleteBoardAgentResponse403 = { + data: LLMErrorResponse; + status: 403; +}; + +export type agentLeadDeleteBoardAgentResponse404 = { + data: LLMErrorResponse; + status: 404; +}; + +export type agentLeadDeleteBoardAgentResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type agentLeadDeleteBoardAgentResponseSuccess = + agentLeadDeleteBoardAgentResponse200 & { + headers: Headers; + }; +export type agentLeadDeleteBoardAgentResponseError = ( + | agentLeadDeleteBoardAgentResponse403 + | agentLeadDeleteBoardAgentResponse404 + | agentLeadDeleteBoardAgentResponse422 +) & { + headers: Headers; +}; + +export type agentLeadDeleteBoardAgentResponse = + | agentLeadDeleteBoardAgentResponseSuccess + | agentLeadDeleteBoardAgentResponseError; + +export const getAgentLeadDeleteBoardAgentUrl = ( + boardId: string, + agentId: string, +) => { + return `/api/v1/agent/boards/${boardId}/agents/${agentId}`; +}; + +export const agentLeadDeleteBoardAgent = async ( + boardId: string, + agentId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getAgentLeadDeleteBoardAgentUrl(boardId, agentId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getAgentLeadDeleteBoardAgentMutationOptions = < + TError = LLMErrorResponse | HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string }, + TContext +> => { + const mutationKey = ["agentLeadDeleteBoardAgent"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { boardId: string; agentId: string } + > = (props) => { + const { boardId, agentId } = props ?? {}; + + return agentLeadDeleteBoardAgent(boardId, agentId, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type AgentLeadDeleteBoardAgentMutationResult = NonNullable< + Awaited> +>; + +export type AgentLeadDeleteBoardAgentMutationError = + | LLMErrorResponse + | HTTPValidationError; + +/** + * @summary Delete a board agent as lead + */ +export const useAgentLeadDeleteBoardAgent = < + TError = LLMErrorResponse | HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; agentId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { boardId: string; agentId: string }, + TContext +> => { + return useMutation( + getAgentLeadDeleteBoardAgentMutationOptions(options), + queryClient, + ); +}; +/** + * Escalate a high-impact decision or ambiguity through the gateway-main interaction channel. + +Use when lead-level context needs human confirmation or consent. + * @summary Ask the human via gateway-main + */ +export type agentLeadAskUserViaGatewayMainResponse200 = { + data: GatewayMainAskUserResponse; + status: 200; +}; + +export type agentLeadAskUserViaGatewayMainResponse403 = { + data: LLMErrorResponse; + status: 403; +}; + +export type agentLeadAskUserViaGatewayMainResponse404 = { + data: LLMErrorResponse; + status: 404; +}; + +export type agentLeadAskUserViaGatewayMainResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type agentLeadAskUserViaGatewayMainResponse502 = { + data: LLMErrorResponse; + status: 502; +}; + +export type agentLeadAskUserViaGatewayMainResponseSuccess = + agentLeadAskUserViaGatewayMainResponse200 & { + headers: Headers; + }; +export type agentLeadAskUserViaGatewayMainResponseError = ( + | agentLeadAskUserViaGatewayMainResponse403 + | agentLeadAskUserViaGatewayMainResponse404 + | agentLeadAskUserViaGatewayMainResponse422 + | agentLeadAskUserViaGatewayMainResponse502 +) & { + headers: Headers; +}; + +export type agentLeadAskUserViaGatewayMainResponse = + | agentLeadAskUserViaGatewayMainResponseSuccess + | agentLeadAskUserViaGatewayMainResponseError; + +export const getAgentLeadAskUserViaGatewayMainUrl = (boardId: string) => { + return `/api/v1/agent/boards/${boardId}/gateway/main/ask-user`; +}; + +export const agentLeadAskUserViaGatewayMain = async ( + boardId: string, + gatewayMainAskUserRequest: GatewayMainAskUserRequest, + options?: RequestInit, +): Promise => { + return customFetch( + getAgentLeadAskUserViaGatewayMainUrl(boardId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(gatewayMainAskUserRequest), + }, + ); +}; + +export const getAgentLeadAskUserViaGatewayMainMutationOptions = < + TError = LLMErrorResponse | HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; data: GatewayMainAskUserRequest }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { boardId: string; data: GatewayMainAskUserRequest }, + TContext +> => { + const mutationKey = ["agentLeadAskUserViaGatewayMain"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { boardId: string; data: GatewayMainAskUserRequest } + > = (props) => { + const { boardId, data } = props ?? {}; + + return agentLeadAskUserViaGatewayMain(boardId, data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type AgentLeadAskUserViaGatewayMainMutationResult = NonNullable< + Awaited> +>; +export type AgentLeadAskUserViaGatewayMainMutationBody = + GatewayMainAskUserRequest; +export type AgentLeadAskUserViaGatewayMainMutationError = + | LLMErrorResponse + | HTTPValidationError; + +/** + * @summary Ask the human via gateway-main + */ +export const useAgentLeadAskUserViaGatewayMain = < + TError = LLMErrorResponse | HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; data: GatewayMainAskUserRequest }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { boardId: string; data: GatewayMainAskUserRequest }, + TContext +> => { + return useMutation( + getAgentLeadAskUserViaGatewayMainMutationOptions(options), + queryClient, + ); +}; /** * Route a direct lead handoff or question from an agent to the board lead. @@ -4315,305 +4971,3 @@ export const useAgentMainBroadcastLeadMessage = < queryClient, ); }; -/** - * Token-authenticated liveness probe for agent API clients. - -Use this endpoint when the caller needs to verify both service availability and agent-token validity in one request. - * @summary Agent Auth Health Check - */ -export type agentHealthzApiV1AgentHealthzGetResponse200 = { - data: AgentHealthStatusResponse; - status: 200; -}; - -export type agentHealthzApiV1AgentHealthzGetResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type agentHealthzApiV1AgentHealthzGetResponseSuccess = - agentHealthzApiV1AgentHealthzGetResponse200 & { - headers: Headers; - }; -export type agentHealthzApiV1AgentHealthzGetResponseError = - agentHealthzApiV1AgentHealthzGetResponse422 & { - headers: Headers; - }; - -export type agentHealthzApiV1AgentHealthzGetResponse = - | agentHealthzApiV1AgentHealthzGetResponseSuccess - | agentHealthzApiV1AgentHealthzGetResponseError; - -export const getAgentHealthzApiV1AgentHealthzGetUrl = () => { - return `/api/v1/agent/healthz`; -}; - -export const agentHealthzApiV1AgentHealthzGet = async ( - options?: RequestInit, -): Promise => { - return customFetch( - getAgentHealthzApiV1AgentHealthzGetUrl(), - { - ...options, - method: "GET", - }, - ); -}; - -export const getAgentHealthzApiV1AgentHealthzGetQueryKey = () => { - return [`/api/v1/agent/healthz`] as const; -}; - -export const getAgentHealthzApiV1AgentHealthzGetQueryOptions = < - TData = Awaited>, - TError = HTTPValidationError, ->(options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; -}) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? getAgentHealthzApiV1AgentHealthzGetQueryKey(); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - agentHealthzApiV1AgentHealthzGet({ signal, ...requestOptions }); - - return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type AgentHealthzApiV1AgentHealthzGetQueryResult = NonNullable< - Awaited> ->; -export type AgentHealthzApiV1AgentHealthzGetQueryError = HTTPValidationError; - -export function useAgentHealthzApiV1AgentHealthzGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - options: { - query: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited>, - TError, - Awaited> - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useAgentHealthzApiV1AgentHealthzGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited>, - TError, - Awaited> - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useAgentHealthzApiV1AgentHealthzGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary Agent Auth Health Check - */ - -export function useAgentHealthzApiV1AgentHealthzGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = getAgentHealthzApiV1AgentHealthzGetQueryOptions(options); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Record liveness for the authenticated agent. - -Use this when the agent heartbeat loop checks in. - * @summary Upsert agent heartbeat - */ -export type agentHeartbeatApiV1AgentHeartbeatPostResponse200 = { - data: AgentRead; - status: 200; -}; - -export type agentHeartbeatApiV1AgentHeartbeatPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type agentHeartbeatApiV1AgentHeartbeatPostResponseSuccess = - agentHeartbeatApiV1AgentHeartbeatPostResponse200 & { - headers: Headers; - }; -export type agentHeartbeatApiV1AgentHeartbeatPostResponseError = - agentHeartbeatApiV1AgentHeartbeatPostResponse422 & { - headers: Headers; - }; - -export type agentHeartbeatApiV1AgentHeartbeatPostResponse = - | agentHeartbeatApiV1AgentHeartbeatPostResponseSuccess - | agentHeartbeatApiV1AgentHeartbeatPostResponseError; - -export const getAgentHeartbeatApiV1AgentHeartbeatPostUrl = () => { - return `/api/v1/agent/heartbeat`; -}; - -export const agentHeartbeatApiV1AgentHeartbeatPost = async ( - options?: RequestInit, -): Promise => { - return customFetch( - getAgentHeartbeatApiV1AgentHeartbeatPostUrl(), - { - ...options, - method: "POST", - }, - ); -}; - -export const getAgentHeartbeatApiV1AgentHeartbeatPostMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - void, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - void, - TContext -> => { - const mutationKey = ["agentHeartbeatApiV1AgentHeartbeatPost"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - void - > = () => { - return agentHeartbeatApiV1AgentHeartbeatPost(requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type AgentHeartbeatApiV1AgentHeartbeatPostMutationResult = NonNullable< - Awaited> ->; - -export type AgentHeartbeatApiV1AgentHeartbeatPostMutationError = - HTTPValidationError; - -/** - * @summary Upsert agent heartbeat - */ -export const useAgentHeartbeatApiV1AgentHeartbeatPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - void, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - void, - TContext -> => { - return useMutation( - getAgentHeartbeatApiV1AgentHeartbeatPostMutationOptions(options), - queryClient, - ); -}; diff --git a/frontend/src/api/generated/agents/agents.ts b/frontend/src/api/generated/agents/agents.ts index 81822c5..ede3ec2 100644 --- a/frontend/src/api/generated/agents/agents.ts +++ b/frontend/src/api/generated/agents/agents.ts @@ -364,134 +364,6 @@ export const useCreateAgentApiV1AgentsPost = < queryClient, ); }; -/** - * Heartbeat an existing agent or create/provision one if needed. - * @summary Heartbeat Or Create Agent - */ -export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse200 = { - data: AgentRead; - status: 200; -}; - -export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseSuccess = - heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse200 & { - headers: Headers; - }; -export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseError = - heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse422 & { - headers: Headers; - }; - -export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse = - | heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseSuccess - | heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseError; - -export const getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostUrl = () => { - return `/api/v1/agents/heartbeat`; -}; - -export const heartbeatOrCreateAgentApiV1AgentsHeartbeatPost = async ( - agentHeartbeatCreate: AgentHeartbeatCreate, - options?: RequestInit, -): Promise => { - return customFetch( - getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostUrl(), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(agentHeartbeatCreate), - }, - ); -}; - -export const getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { data: AgentHeartbeatCreate }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited>, - TError, - { data: AgentHeartbeatCreate }, - TContext - > => { - const mutationKey = ["heartbeatOrCreateAgentApiV1AgentsHeartbeatPost"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType - >, - { data: AgentHeartbeatCreate } - > = (props) => { - const { data } = props ?? {}; - - return heartbeatOrCreateAgentApiV1AgentsHeartbeatPost( - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type HeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationResult = - NonNullable< - Awaited> - >; -export type HeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationBody = - AgentHeartbeatCreate; -export type HeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationError = - HTTPValidationError; - -/** - * @summary Heartbeat Or Create Agent - */ -export const useHeartbeatOrCreateAgentApiV1AgentsHeartbeatPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { data: AgentHeartbeatCreate }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { data: AgentHeartbeatCreate }, - TContext -> => { - return useMutation( - getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationOptions(options), - queryClient, - ); -}; /** * Stream agent updates as SSE events. * @summary Stream Agents @@ -704,123 +576,6 @@ export function useStreamAgentsApiV1AgentsStreamGet< return { ...query, queryKey: queryOptions.queryKey }; } -/** - * Delete an agent and clean related task state. - * @summary Delete Agent - */ -export type deleteAgentApiV1AgentsAgentIdDeleteResponse200 = { - data: OkResponse; - status: 200; -}; - -export type deleteAgentApiV1AgentsAgentIdDeleteResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type deleteAgentApiV1AgentsAgentIdDeleteResponseSuccess = - deleteAgentApiV1AgentsAgentIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteAgentApiV1AgentsAgentIdDeleteResponseError = - deleteAgentApiV1AgentsAgentIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteAgentApiV1AgentsAgentIdDeleteResponse = - | deleteAgentApiV1AgentsAgentIdDeleteResponseSuccess - | deleteAgentApiV1AgentsAgentIdDeleteResponseError; - -export const getDeleteAgentApiV1AgentsAgentIdDeleteUrl = (agentId: string) => { - return `/api/v1/agents/${agentId}`; -}; - -export const deleteAgentApiV1AgentsAgentIdDelete = async ( - agentId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getDeleteAgentApiV1AgentsAgentIdDeleteUrl(agentId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getDeleteAgentApiV1AgentsAgentIdDeleteMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { agentId: string }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { agentId: string }, - TContext -> => { - const mutationKey = ["deleteAgentApiV1AgentsAgentIdDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { agentId: string } - > = (props) => { - const { agentId } = props ?? {}; - - return deleteAgentApiV1AgentsAgentIdDelete(agentId, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type DeleteAgentApiV1AgentsAgentIdDeleteMutationResult = NonNullable< - Awaited> ->; - -export type DeleteAgentApiV1AgentsAgentIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Delete Agent - */ -export const useDeleteAgentApiV1AgentsAgentIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { agentId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { agentId: string }, - TContext -> => { - return useMutation( - getDeleteAgentApiV1AgentsAgentIdDeleteMutationOptions(options), - queryClient, - ); -}; /** * Get a single agent by id. * @summary Get Agent @@ -1182,6 +937,123 @@ export const useUpdateAgentApiV1AgentsAgentIdPatch = < queryClient, ); }; +/** + * Delete an agent and clean related task state. + * @summary Delete Agent + */ +export type deleteAgentApiV1AgentsAgentIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteAgentApiV1AgentsAgentIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type deleteAgentApiV1AgentsAgentIdDeleteResponseSuccess = + deleteAgentApiV1AgentsAgentIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteAgentApiV1AgentsAgentIdDeleteResponseError = + deleteAgentApiV1AgentsAgentIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteAgentApiV1AgentsAgentIdDeleteResponse = + | deleteAgentApiV1AgentsAgentIdDeleteResponseSuccess + | deleteAgentApiV1AgentsAgentIdDeleteResponseError; + +export const getDeleteAgentApiV1AgentsAgentIdDeleteUrl = (agentId: string) => { + return `/api/v1/agents/${agentId}`; +}; + +export const deleteAgentApiV1AgentsAgentIdDelete = async ( + agentId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteAgentApiV1AgentsAgentIdDeleteUrl(agentId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteAgentApiV1AgentsAgentIdDeleteMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { agentId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { agentId: string }, + TContext +> => { + const mutationKey = ["deleteAgentApiV1AgentsAgentIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { agentId: string } + > = (props) => { + const { agentId } = props ?? {}; + + return deleteAgentApiV1AgentsAgentIdDelete(agentId, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteAgentApiV1AgentsAgentIdDeleteMutationResult = NonNullable< + Awaited> +>; + +export type DeleteAgentApiV1AgentsAgentIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Agent + */ +export const useDeleteAgentApiV1AgentsAgentIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { agentId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { agentId: string }, + TContext +> => { + return useMutation( + getDeleteAgentApiV1AgentsAgentIdDeleteMutationOptions(options), + queryClient, + ); +}; /** * Record a heartbeat for a specific agent. * @summary Heartbeat Agent @@ -1310,3 +1182,131 @@ export const useHeartbeatAgentApiV1AgentsAgentIdHeartbeatPost = < queryClient, ); }; +/** + * Heartbeat an existing agent or create/provision one if needed. + * @summary Heartbeat Or Create Agent + */ +export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse200 = { + data: AgentRead; + status: 200; +}; + +export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseSuccess = + heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse200 & { + headers: Headers; + }; +export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseError = + heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse422 & { + headers: Headers; + }; + +export type heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponse = + | heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseSuccess + | heartbeatOrCreateAgentApiV1AgentsHeartbeatPostResponseError; + +export const getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostUrl = () => { + return `/api/v1/agents/heartbeat`; +}; + +export const heartbeatOrCreateAgentApiV1AgentsHeartbeatPost = async ( + agentHeartbeatCreate: AgentHeartbeatCreate, + options?: RequestInit, +): Promise => { + return customFetch( + getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostUrl(), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(agentHeartbeatCreate), + }, + ); +}; + +export const getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { data: AgentHeartbeatCreate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited>, + TError, + { data: AgentHeartbeatCreate }, + TContext + > => { + const mutationKey = ["heartbeatOrCreateAgentApiV1AgentsHeartbeatPost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType + >, + { data: AgentHeartbeatCreate } + > = (props) => { + const { data } = props ?? {}; + + return heartbeatOrCreateAgentApiV1AgentsHeartbeatPost( + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type HeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationResult = + NonNullable< + Awaited> + >; +export type HeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationBody = + AgentHeartbeatCreate; +export type HeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationError = + HTTPValidationError; + +/** + * @summary Heartbeat Or Create Agent + */ +export const useHeartbeatOrCreateAgentApiV1AgentsHeartbeatPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { data: AgentHeartbeatCreate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { data: AgentHeartbeatCreate }, + TContext +> => { + return useMutation( + getHeartbeatOrCreateAgentApiV1AgentsHeartbeatPostMutationOptions(options), + queryClient, + ); +}; diff --git a/frontend/src/api/generated/board-groups/board-groups.ts b/frontend/src/api/generated/board-groups/board-groups.ts index ceb6c86..78fbaf2 100644 --- a/frontend/src/api/generated/board-groups/board-groups.ts +++ b/frontend/src/api/generated/board-groups/board-groups.ts @@ -369,129 +369,6 @@ export const useCreateBoardGroupApiV1BoardGroupsPost = < queryClient, ); }; -/** - * Delete a board group. - * @summary Delete Board Group - */ -export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse200 = { - data: OkResponse; - status: 200; -}; - -export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseSuccess = - deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseError = - deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse = - | deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseSuccess - | deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseError; - -export const getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteUrl = ( - groupId: string, -) => { - return `/api/v1/board-groups/${groupId}`; -}; - -export const deleteBoardGroupApiV1BoardGroupsGroupIdDelete = async ( - groupId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteUrl(groupId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { groupId: string }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { groupId: string }, - TContext -> => { - const mutationKey = ["deleteBoardGroupApiV1BoardGroupsGroupIdDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { groupId: string } - > = (props) => { - const { groupId } = props ?? {}; - - return deleteBoardGroupApiV1BoardGroupsGroupIdDelete( - groupId, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type DeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationResult = - NonNullable< - Awaited> - >; - -export type DeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Delete Board Group - */ -export const useDeleteBoardGroupApiV1BoardGroupsGroupIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { groupId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { groupId: string }, - TContext -> => { - return useMutation( - getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationOptions(options), - queryClient, - ); -}; /** * Get a board group by id. * @summary Get Board Group @@ -830,161 +707,125 @@ export const useUpdateBoardGroupApiV1BoardGroupsGroupIdPatch = < ); }; /** - * Apply heartbeat settings to agents in a board group. - * @summary Apply Board Group Heartbeat + * Delete a board group. + * @summary Delete Board Group */ -export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse200 = - { - data: BoardGroupHeartbeatApplyResult; - status: 200; - }; +export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; -export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse422 = - { - data: HTTPValidationError; - status: 422; - }; +export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; -export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseSuccess = - applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse200 & { +export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseSuccess = + deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse200 & { headers: Headers; }; -export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseError = - applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse422 & { +export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseError = + deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse422 & { headers: Headers; }; -export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse = +export type deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponse = + | deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseSuccess + | deleteBoardGroupApiV1BoardGroupsGroupIdDeleteResponseError; - | applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseSuccess - | applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseError; +export const getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteUrl = ( + groupId: string, +) => { + return `/api/v1/board-groups/${groupId}`; +}; -export const getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostUrl = - (groupId: string) => { - return `/api/v1/board-groups/${groupId}/heartbeat`; - }; +export const deleteBoardGroupApiV1BoardGroupsGroupIdDelete = async ( + groupId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteUrl(groupId), + { + ...options, + method: "DELETE", + }, + ); +}; -export const applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost = - async ( - groupId: string, - boardGroupHeartbeatApply: BoardGroupHeartbeatApply, - options?: RequestInit, - ): Promise => { - return customFetch( - getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostUrl( - groupId, - ), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(boardGroupHeartbeatApply), - }, +export const getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { groupId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { groupId: string }, + TContext +> => { + const mutationKey = ["deleteBoardGroupApiV1BoardGroupsGroupIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { groupId: string } + > = (props) => { + const { groupId } = props ?? {}; + + return deleteBoardGroupApiV1BoardGroupsGroupIdDelete( + groupId, + requestOptions, ); }; -export const getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost - > - >, - TError, - { groupId: string; data: BoardGroupHeartbeatApply }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType< - typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost - > - >, - TError, - { groupId: string; data: BoardGroupHeartbeatApply }, - TContext - > => { - const mutationKey = [ - "applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; + return { mutationFn, ...mutationOptions }; +}; - const mutationFn: MutationFunction< - Awaited< - ReturnType< - typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost - > - >, - { groupId: string; data: BoardGroupHeartbeatApply } - > = (props) => { - const { groupId, data } = props ?? {}; - - return applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost( - groupId, - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type ApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationResult = +export type DeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationResult = NonNullable< - Awaited< - ReturnType< - typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost - > - > + Awaited> >; -export type ApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationBody = - BoardGroupHeartbeatApply; -export type ApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationError = + +export type DeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationError = HTTPValidationError; /** - * @summary Apply Board Group Heartbeat + * @summary Delete Board Group */ -export const useApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost = < +export const useDeleteBoardGroupApiV1BoardGroupsGroupIdDelete = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost - > - >, + Awaited>, TError, - { groupId: string; data: BoardGroupHeartbeatApply }, + { groupId: string }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< - Awaited< - ReturnType< - typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost - > - >, + Awaited>, TError, - { groupId: string; data: BoardGroupHeartbeatApply }, + { groupId: string }, TContext > => { return useMutation( - getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationOptions( - options, - ), + getDeleteBoardGroupApiV1BoardGroupsGroupIdDeleteMutationOptions(options), queryClient, ); }; @@ -1290,3 +1131,163 @@ export function useGetBoardGroupSnapshotApiV1BoardGroupsGroupIdSnapshotGet< return { ...query, queryKey: queryOptions.queryKey }; } + +/** + * Apply heartbeat settings to agents in a board group. + * @summary Apply Board Group Heartbeat + */ +export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse200 = + { + data: BoardGroupHeartbeatApplyResult; + status: 200; + }; + +export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseSuccess = + applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse200 & { + headers: Headers; + }; +export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseError = + applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse422 & { + headers: Headers; + }; + +export type applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponse = + + | applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseSuccess + | applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostResponseError; + +export const getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostUrl = + (groupId: string) => { + return `/api/v1/board-groups/${groupId}/heartbeat`; + }; + +export const applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost = + async ( + groupId: string, + boardGroupHeartbeatApply: BoardGroupHeartbeatApply, + options?: RequestInit, + ): Promise => { + return customFetch( + getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostUrl( + groupId, + ), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(boardGroupHeartbeatApply), + }, + ); + }; + +export const getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost + > + >, + TError, + { groupId: string; data: BoardGroupHeartbeatApply }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost + > + >, + TError, + { groupId: string; data: BoardGroupHeartbeatApply }, + TContext + > => { + const mutationKey = [ + "applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost + > + >, + { groupId: string; data: BoardGroupHeartbeatApply } + > = (props) => { + const { groupId, data } = props ?? {}; + + return applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost( + groupId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type ApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost + > + > + >; +export type ApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationBody = + BoardGroupHeartbeatApply; +export type ApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationError = + HTTPValidationError; + +/** + * @summary Apply Board Group Heartbeat + */ +export const useApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost + > + >, + TError, + { groupId: string; data: BoardGroupHeartbeatApply }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType< + typeof applyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPost + > + >, + TError, + { groupId: string; data: BoardGroupHeartbeatApply }, + TContext +> => { + return useMutation( + getApplyBoardGroupHeartbeatApiV1BoardGroupsGroupIdHeartbeatPostMutationOptions( + options, + ), + queryClient, + ); +}; diff --git a/frontend/src/api/generated/board-onboarding/board-onboarding.ts b/frontend/src/api/generated/board-onboarding/board-onboarding.ts index 479bfd9..8efcb6f 100644 --- a/frontend/src/api/generated/board-onboarding/board-onboarding.ts +++ b/frontend/src/api/generated/board-onboarding/board-onboarding.ts @@ -274,6 +274,298 @@ export function useGetOnboardingApiV1BoardsBoardIdOnboardingGet< return { ...query, queryKey: queryOptions.queryKey }; } +/** + * Start onboarding and send instructions to the gateway agent. + * @summary Start Onboarding + */ +export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse200 = { + data: BoardOnboardingRead; + status: 200; +}; + +export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseSuccess = + startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse200 & { + headers: Headers; + }; +export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseError = + startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse422 & { + headers: Headers; + }; + +export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse = + | startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseSuccess + | startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseError; + +export const getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostUrl = ( + boardId: string, +) => { + return `/api/v1/boards/${boardId}/onboarding/start`; +}; + +export const startOnboardingApiV1BoardsBoardIdOnboardingStartPost = async ( + boardId: string, + boardOnboardingStart: BoardOnboardingStart, + options?: RequestInit, +): Promise => { + return customFetch( + getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostUrl(boardId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(boardOnboardingStart), + }, + ); +}; + +export const getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardOnboardingStart }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardOnboardingStart }, + TContext + > => { + const mutationKey = [ + "startOnboardingApiV1BoardsBoardIdOnboardingStartPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType + >, + { boardId: string; data: BoardOnboardingStart } + > = (props) => { + const { boardId, data } = props ?? {}; + + return startOnboardingApiV1BoardsBoardIdOnboardingStartPost( + boardId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type StartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type StartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationBody = + BoardOnboardingStart; +export type StartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationError = + HTTPValidationError; + +/** + * @summary Start Onboarding + */ +export const useStartOnboardingApiV1BoardsBoardIdOnboardingStartPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardOnboardingStart }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardOnboardingStart }, + TContext +> => { + return useMutation( + getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Send a user onboarding answer to the gateway agent. + * @summary Answer Onboarding + */ +export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse200 = + { + data: BoardOnboardingRead; + status: 200; + }; + +export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseSuccess = + answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse200 & { + headers: Headers; + }; +export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseError = + answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse422 & { + headers: Headers; + }; + +export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse = + | answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseSuccess + | answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseError; + +export const getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostUrl = ( + boardId: string, +) => { + return `/api/v1/boards/${boardId}/onboarding/answer`; +}; + +export const answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost = async ( + boardId: string, + boardOnboardingAnswer: BoardOnboardingAnswer, + options?: RequestInit, +): Promise => { + return customFetch( + getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostUrl(boardId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(boardOnboardingAnswer), + }, + ); +}; + +export const getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost + > + >, + TError, + { boardId: string; data: BoardOnboardingAnswer }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardOnboardingAnswer }, + TContext + > => { + const mutationKey = [ + "answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost + > + >, + { boardId: string; data: BoardOnboardingAnswer } + > = (props) => { + const { boardId, data } = props ?? {}; + + return answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost( + boardId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type AnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type AnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationBody = + BoardOnboardingAnswer; +export type AnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationError = + HTTPValidationError; + +/** + * @summary Answer Onboarding + */ +export const useAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost + > + >, + TError, + { boardId: string; data: BoardOnboardingAnswer }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { boardId: string; data: BoardOnboardingAnswer }, + TContext +> => { + return useMutation( + getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationOptions( + options, + ), + queryClient, + ); +}; /** * Store onboarding updates submitted by the gateway agent. * @summary Agent Onboarding Update @@ -449,156 +741,6 @@ export const useAgentOnboardingUpdateApiV1BoardsBoardIdOnboardingAgentPost = < queryClient, ); }; -/** - * Send a user onboarding answer to the gateway agent. - * @summary Answer Onboarding - */ -export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse200 = - { - data: BoardOnboardingRead; - status: 200; - }; - -export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse422 = - { - data: HTTPValidationError; - status: 422; - }; - -export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseSuccess = - answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse200 & { - headers: Headers; - }; -export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseError = - answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse422 & { - headers: Headers; - }; - -export type answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponse = - | answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseSuccess - | answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostResponseError; - -export const getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostUrl = ( - boardId: string, -) => { - return `/api/v1/boards/${boardId}/onboarding/answer`; -}; - -export const answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost = async ( - boardId: string, - boardOnboardingAnswer: BoardOnboardingAnswer, - options?: RequestInit, -): Promise => { - return customFetch( - getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostUrl(boardId), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(boardOnboardingAnswer), - }, - ); -}; - -export const getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost - > - >, - TError, - { boardId: string; data: BoardOnboardingAnswer }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardOnboardingAnswer }, - TContext - > => { - const mutationKey = [ - "answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType< - typeof answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost - > - >, - { boardId: string; data: BoardOnboardingAnswer } - > = (props) => { - const { boardId, data } = props ?? {}; - - return answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost( - boardId, - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type AnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationResult = - NonNullable< - Awaited< - ReturnType - > - >; -export type AnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationBody = - BoardOnboardingAnswer; -export type AnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationError = - HTTPValidationError; - -/** - * @summary Answer Onboarding - */ -export const useAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof answerOnboardingApiV1BoardsBoardIdOnboardingAnswerPost - > - >, - TError, - { boardId: string; data: BoardOnboardingAnswer }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardOnboardingAnswer }, - TContext -> => { - return useMutation( - getAnswerOnboardingApiV1BoardsBoardIdOnboardingAnswerPostMutationOptions( - options, - ), - queryClient, - ); -}; /** * Confirm onboarding results and provision the board lead agent. * @summary Confirm Onboarding @@ -753,145 +895,3 @@ export const useConfirmOnboardingApiV1BoardsBoardIdOnboardingConfirmPost = < queryClient, ); }; -/** - * Start onboarding and send instructions to the gateway agent. - * @summary Start Onboarding - */ -export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse200 = { - data: BoardOnboardingRead; - status: 200; -}; - -export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseSuccess = - startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse200 & { - headers: Headers; - }; -export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseError = - startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse422 & { - headers: Headers; - }; - -export type startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponse = - | startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseSuccess - | startOnboardingApiV1BoardsBoardIdOnboardingStartPostResponseError; - -export const getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostUrl = ( - boardId: string, -) => { - return `/api/v1/boards/${boardId}/onboarding/start`; -}; - -export const startOnboardingApiV1BoardsBoardIdOnboardingStartPost = async ( - boardId: string, - boardOnboardingStart: BoardOnboardingStart, - options?: RequestInit, -): Promise => { - return customFetch( - getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostUrl(boardId), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(boardOnboardingStart), - }, - ); -}; - -export const getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardOnboardingStart }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardOnboardingStart }, - TContext - > => { - const mutationKey = [ - "startOnboardingApiV1BoardsBoardIdOnboardingStartPost", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType - >, - { boardId: string; data: BoardOnboardingStart } - > = (props) => { - const { boardId, data } = props ?? {}; - - return startOnboardingApiV1BoardsBoardIdOnboardingStartPost( - boardId, - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type StartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationResult = - NonNullable< - Awaited< - ReturnType - > - >; -export type StartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationBody = - BoardOnboardingStart; -export type StartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationError = - HTTPValidationError; - -/** - * @summary Start Onboarding - */ -export const useStartOnboardingApiV1BoardsBoardIdOnboardingStartPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardOnboardingStart }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { boardId: string; data: BoardOnboardingStart }, - TContext -> => { - return useMutation( - getStartOnboardingApiV1BoardsBoardIdOnboardingStartPostMutationOptions( - options, - ), - queryClient, - ); -}; diff --git a/frontend/src/api/generated/board-repositories/board-repositories.ts b/frontend/src/api/generated/board-repositories/board-repositories.ts new file mode 100644 index 0000000..2e43a7d --- /dev/null +++ b/frontend/src/api/generated/board-repositories/board-repositories.ts @@ -0,0 +1,632 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import { useMutation, useQuery } from "@tanstack/react-query"; +import type { + DataTag, + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryClient, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult, +} from "@tanstack/react-query"; + +import type { + BoardRepositoryLinkCreate, + BoardRepositoryLinkDeleteResponse, + BoardRepositoryLinkRead, + BoardRepositoryLinkResponse, + HTTPValidationError, +} from ".././model"; + +import { customFetch } from "../../mutator"; + +type SecondParameter unknown> = Parameters[1]; + +/** + * List repositories linked to a board. + * @summary List Board Repositories + */ +export type listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponse200 = + { + data: BoardRepositoryLinkRead[]; + status: 200; + }; + +export type listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponseSuccess = + listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponse200 & { + headers: Headers; + }; +export type listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponseError = + listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponse422 & { + headers: Headers; + }; + +export type listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponse = + + | listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponseSuccess + | listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetResponseError; + +export const getListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetUrl = + (boardId: string) => { + return `/api/v1/boards/${boardId}/forgejo/repositories`; + }; + +export const listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet = + async ( + boardId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetUrl( + boardId, + ), + { + ...options, + method: "GET", + }, + ); + }; + +export const getListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetQueryKey = + (boardId: string) => { + return [`/api/v1/boards/${boardId}/forgejo/repositories`] as const; + }; + +export const getListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetQueryOptions = + < + TData = Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError = HTTPValidationError, + >( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetQueryKey( + boardId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + > + > = ({ signal }) => + listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet(boardId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!boardId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type ListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetQueryResult = + NonNullable< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + > + >; +export type ListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetQueryError = + HTTPValidationError; + +export function useListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet< + TData = Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet< + TData = Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet< + TData = Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Board Repositories + */ + +export function useListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet< + TData = Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListBoardRepositoriesApiV1BoardsBoardIdForgejoRepositoriesGetQueryOptions( + boardId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Link a Forgejo repository to a board. + * @summary Link Repository To Board + */ +export type linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponse200 = + { + data: BoardRepositoryLinkResponse; + status: 200; + }; + +export type linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponseSuccess = + linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponse200 & { + headers: Headers; + }; +export type linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponseError = + linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponse422 & { + headers: Headers; + }; + +export type linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponse = + + | linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponseSuccess + | linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostResponseError; + +export const getLinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostUrl = + (boardId: string) => { + return `/api/v1/boards/${boardId}/forgejo/repositories`; + }; + +export const linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost = + async ( + boardId: string, + boardRepositoryLinkCreate: BoardRepositoryLinkCreate, + options?: RequestInit, + ): Promise => { + return customFetch( + getLinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostUrl( + boardId, + ), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(boardRepositoryLinkCreate), + }, + ); + }; + +export const getLinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost + > + >, + TError, + { boardId: string; data: BoardRepositoryLinkCreate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost + > + >, + TError, + { boardId: string; data: BoardRepositoryLinkCreate }, + TContext + > => { + const mutationKey = [ + "linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost + > + >, + { boardId: string; data: BoardRepositoryLinkCreate } + > = (props) => { + const { boardId, data } = props ?? {}; + + return linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost( + boardId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type LinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost + > + > + >; +export type LinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostMutationBody = + BoardRepositoryLinkCreate; +export type LinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostMutationError = + HTTPValidationError; + +/** + * @summary Link Repository To Board + */ +export const useLinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost + > + >, + TError, + { boardId: string; data: BoardRepositoryLinkCreate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof linkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPost + > + >, + TError, + { boardId: string; data: BoardRepositoryLinkCreate }, + TContext + > => { + return useMutation( + getLinkRepositoryToBoardApiV1BoardsBoardIdForgejoRepositoriesPostMutationOptions( + options, + ), + queryClient, + ); + }; +/** + * Remove a repository link from a board. + * @summary Unlink Repository From Board + */ +export type unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponse200 = + { + data: BoardRepositoryLinkDeleteResponse; + status: 200; + }; + +export type unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponseSuccess = + unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponse200 & { + headers: Headers; + }; +export type unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponseError = + unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponse422 & { + headers: Headers; + }; + +export type unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponse = + + | unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponseSuccess + | unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteResponseError; + +export const getUnlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteUrl = + (boardId: string, repositoryId: string) => { + return `/api/v1/boards/${boardId}/forgejo/repositories/${repositoryId}`; + }; + +export const unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete = + async ( + boardId: string, + repositoryId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getUnlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteUrl( + boardId, + repositoryId, + ), + { + ...options, + method: "DELETE", + }, + ); + }; + +export const getUnlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { boardId: string; repositoryId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { boardId: string; repositoryId: string }, + TContext + > => { + const mutationKey = [ + "unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete + > + >, + { boardId: string; repositoryId: string } + > = (props) => { + const { boardId, repositoryId } = props ?? {}; + + return unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete( + boardId, + repositoryId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type UnlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete + > + > + >; + +export type UnlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Unlink Repository From Board + */ +export const useUnlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { boardId: string; repositoryId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof unlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { boardId: string; repositoryId: string }, + TContext + > => { + return useMutation( + getUnlinkRepositoryFromBoardApiV1BoardsBoardIdForgejoRepositoriesRepositoryIdDeleteMutationOptions( + options, + ), + queryClient, + ); + }; diff --git a/frontend/src/api/generated/board-webhooks/board-webhooks.ts b/frontend/src/api/generated/board-webhooks/board-webhooks.ts index 3170f95..5cdeb22 100644 --- a/frontend/src/api/generated/board-webhooks/board-webhooks.ts +++ b/frontend/src/api/generated/board-webhooks/board-webhooks.ts @@ -435,163 +435,6 @@ export const useCreateBoardWebhookApiV1BoardsBoardIdWebhooksPost = < queryClient, ); }; -/** - * Delete a webhook and its stored payload rows. - * @summary Delete Board Webhook - */ -export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse200 = - { - data: OkResponse; - status: 200; - }; - -export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse422 = - { - data: HTTPValidationError; - status: 422; - }; - -export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseSuccess = - deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseError = - deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse = - - | deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseSuccess - | deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseError; - -export const getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteUrl = - (boardId: string, webhookId: string) => { - return `/api/v1/boards/${boardId}/webhooks/${webhookId}`; - }; - -export const deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete = - async ( - boardId: string, - webhookId: string, - options?: RequestInit, - ): Promise => { - return customFetch( - getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteUrl( - boardId, - webhookId, - ), - { - ...options, - method: "DELETE", - }, - ); - }; - -export const getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete - > - >, - TError, - { boardId: string; webhookId: string }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType< - typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete - > - >, - TError, - { boardId: string; webhookId: string }, - TContext - > => { - const mutationKey = [ - "deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType< - typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete - > - >, - { boardId: string; webhookId: string } - > = (props) => { - const { boardId, webhookId } = props ?? {}; - - return deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete( - boardId, - webhookId, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type DeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationResult = - NonNullable< - Awaited< - ReturnType< - typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete - > - > - >; - -export type DeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Delete Board Webhook - */ -export const useDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete - > - >, - TError, - { boardId: string; webhookId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType< - typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete - > - >, - TError, - { boardId: string; webhookId: string }, - TContext -> => { - return useMutation( - getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationOptions( - options, - ), - queryClient, - ); -}; /** * Get one board webhook configuration. * @summary Get Board Webhook @@ -1031,6 +874,163 @@ export const useUpdateBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdPatch = < queryClient, ); }; +/** + * Delete a webhook and its stored payload rows. + * @summary Delete Board Webhook + */ +export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse200 = + { + data: OkResponse; + status: 200; + }; + +export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseSuccess = + deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseError = + deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponse = + + | deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseSuccess + | deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteResponseError; + +export const getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteUrl = + (boardId: string, webhookId: string) => { + return `/api/v1/boards/${boardId}/webhooks/${webhookId}`; + }; + +export const deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete = + async ( + boardId: string, + webhookId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteUrl( + boardId, + webhookId, + ), + { + ...options, + method: "DELETE", + }, + ); + }; + +export const getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete + > + >, + TError, + { boardId: string; webhookId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete + > + >, + TError, + { boardId: string; webhookId: string }, + TContext + > => { + const mutationKey = [ + "deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete + > + >, + { boardId: string; webhookId: string } + > = (props) => { + const { boardId, webhookId } = props ?? {}; + + return deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete( + boardId, + webhookId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type DeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete + > + > + >; + +export type DeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Board Webhook + */ +export const useDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete + > + >, + TError, + { boardId: string; webhookId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType< + typeof deleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDelete + > + >, + TError, + { boardId: string; webhookId: string }, + TContext +> => { + return useMutation( + getDeleteBoardWebhookApiV1BoardsBoardIdWebhooksWebhookIdDeleteMutationOptions( + options, + ), + queryClient, + ); +}; /** * Open inbound webhook endpoint that stores payloads and nudges the board lead. * @summary Ingest Board Webhook diff --git a/frontend/src/api/generated/boards/boards.ts b/frontend/src/api/generated/boards/boards.ts index 920d51d..e591984 100644 --- a/frontend/src/api/generated/boards/boards.ts +++ b/frontend/src/api/generated/boards/boards.ts @@ -363,123 +363,6 @@ export const useCreateBoardApiV1BoardsPost = < queryClient, ); }; -/** - * Delete a board and all dependent records. - * @summary Delete Board - */ -export type deleteBoardApiV1BoardsBoardIdDeleteResponse200 = { - data: OkResponse; - status: 200; -}; - -export type deleteBoardApiV1BoardsBoardIdDeleteResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type deleteBoardApiV1BoardsBoardIdDeleteResponseSuccess = - deleteBoardApiV1BoardsBoardIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteBoardApiV1BoardsBoardIdDeleteResponseError = - deleteBoardApiV1BoardsBoardIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteBoardApiV1BoardsBoardIdDeleteResponse = - | deleteBoardApiV1BoardsBoardIdDeleteResponseSuccess - | deleteBoardApiV1BoardsBoardIdDeleteResponseError; - -export const getDeleteBoardApiV1BoardsBoardIdDeleteUrl = (boardId: string) => { - return `/api/v1/boards/${boardId}`; -}; - -export const deleteBoardApiV1BoardsBoardIdDelete = async ( - boardId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getDeleteBoardApiV1BoardsBoardIdDeleteUrl(boardId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getDeleteBoardApiV1BoardsBoardIdDeleteMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { boardId: string }, - TContext -> => { - const mutationKey = ["deleteBoardApiV1BoardsBoardIdDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { boardId: string } - > = (props) => { - const { boardId } = props ?? {}; - - return deleteBoardApiV1BoardsBoardIdDelete(boardId, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type DeleteBoardApiV1BoardsBoardIdDeleteMutationResult = NonNullable< - Awaited> ->; - -export type DeleteBoardApiV1BoardsBoardIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Delete Board - */ -export const useDeleteBoardApiV1BoardsBoardIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { boardId: string }, - TContext -> => { - return useMutation( - getDeleteBoardApiV1BoardsBoardIdDeleteMutationOptions(options), - queryClient, - ); -}; /** * Get a board by id. * @summary Get Board @@ -800,6 +683,362 @@ export const useUpdateBoardApiV1BoardsBoardIdPatch = < queryClient, ); }; +/** + * Delete a board and all dependent records. + * @summary Delete Board + */ +export type deleteBoardApiV1BoardsBoardIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteBoardApiV1BoardsBoardIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type deleteBoardApiV1BoardsBoardIdDeleteResponseSuccess = + deleteBoardApiV1BoardsBoardIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteBoardApiV1BoardsBoardIdDeleteResponseError = + deleteBoardApiV1BoardsBoardIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteBoardApiV1BoardsBoardIdDeleteResponse = + | deleteBoardApiV1BoardsBoardIdDeleteResponseSuccess + | deleteBoardApiV1BoardsBoardIdDeleteResponseError; + +export const getDeleteBoardApiV1BoardsBoardIdDeleteUrl = (boardId: string) => { + return `/api/v1/boards/${boardId}`; +}; + +export const deleteBoardApiV1BoardsBoardIdDelete = async ( + boardId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteBoardApiV1BoardsBoardIdDeleteUrl(boardId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteBoardApiV1BoardsBoardIdDeleteMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { boardId: string }, + TContext +> => { + const mutationKey = ["deleteBoardApiV1BoardsBoardIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { boardId: string } + > = (props) => { + const { boardId } = props ?? {}; + + return deleteBoardApiV1BoardsBoardIdDelete(boardId, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteBoardApiV1BoardsBoardIdDeleteMutationResult = NonNullable< + Awaited> +>; + +export type DeleteBoardApiV1BoardsBoardIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Board + */ +export const useDeleteBoardApiV1BoardsBoardIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { boardId: string }, + TContext +> => { + return useMutation( + getDeleteBoardApiV1BoardsBoardIdDeleteMutationOptions(options), + queryClient, + ); +}; +/** + * Get a board snapshot view model. + * @summary Get Board Snapshot + */ +export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse200 = { + data: BoardSnapshot; + status: 200; +}; + +export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseSuccess = + getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse200 & { + headers: Headers; + }; +export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseError = + getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse422 & { + headers: Headers; + }; + +export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse = + | getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseSuccess + | getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseError; + +export const getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetUrl = ( + boardId: string, +) => { + return `/api/v1/boards/${boardId}/snapshot`; +}; + +export const getBoardSnapshotApiV1BoardsBoardIdSnapshotGet = async ( + boardId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetUrl(boardId), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryKey = ( + boardId: string, +) => { + return [`/api/v1/boards/${boardId}/snapshot`] as const; +}; + +export const getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryKey(boardId); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + getBoardSnapshotApiV1BoardsBoardIdSnapshotGet(boardId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!boardId, + ...queryOptions, + } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type GetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryResult = + NonNullable< + Awaited> + >; +export type GetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryError = + HTTPValidationError; + +export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get Board Snapshot + */ + +export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryOptions( + boardId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + /** * Get a grouped snapshot across related boards. @@ -1104,242 +1343,3 @@ export function useGetBoardGroupSnapshotApiV1BoardsBoardIdGroupSnapshotGet< return { ...query, queryKey: queryOptions.queryKey }; } - -/** - * Get a board snapshot view model. - * @summary Get Board Snapshot - */ -export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse200 = { - data: BoardSnapshot; - status: 200; -}; - -export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseSuccess = - getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse200 & { - headers: Headers; - }; -export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseError = - getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse422 & { - headers: Headers; - }; - -export type getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponse = - | getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseSuccess - | getBoardSnapshotApiV1BoardsBoardIdSnapshotGetResponseError; - -export const getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetUrl = ( - boardId: string, -) => { - return `/api/v1/boards/${boardId}/snapshot`; -}; - -export const getBoardSnapshotApiV1BoardsBoardIdSnapshotGet = async ( - boardId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetUrl(boardId), - { - ...options, - method: "GET", - }, - ); -}; - -export const getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryKey = ( - boardId: string, -) => { - return [`/api/v1/boards/${boardId}/snapshot`] as const; -}; - -export const getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryOptions = < - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, -) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryKey(boardId); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - getBoardSnapshotApiV1BoardsBoardIdSnapshotGet(boardId, { - signal, - ...requestOptions, - }); - - return { - queryKey, - queryFn, - enabled: !!boardId, - ...queryOptions, - } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type GetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryResult = - NonNullable< - Awaited> - >; -export type GetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryError = - HTTPValidationError; - -export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - options: { - query: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary Get Board Snapshot - */ - -export function useGetBoardSnapshotApiV1BoardsBoardIdSnapshotGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getGetBoardSnapshotApiV1BoardsBoardIdSnapshotGetQueryOptions( - boardId, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} diff --git a/frontend/src/api/generated/custom-fields/custom-fields.ts b/frontend/src/api/generated/custom-fields/custom-fields.ts index 2f5e1c9..984078b 100644 --- a/frontend/src/api/generated/custom-fields/custom-fields.ts +++ b/frontend/src/api/generated/custom-fields/custom-fields.ts @@ -425,158 +425,6 @@ export const useCreateOrgCustomFieldApiV1OrganizationsMeCustomFieldsPost = < queryClient, ); }; -/** - * Delete an org-level definition when it has no persisted task values. - * @summary Delete Org Custom Field - */ -export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse200 = - { - data: OkResponse; - status: 200; - }; - -export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse422 = - { - data: HTTPValidationError; - status: 422; - }; - -export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseSuccess = - deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseError = - deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse = - - | deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseSuccess - | deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseError; - -export const getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteUrl = - (taskCustomFieldDefinitionId: string) => { - return `/api/v1/organizations/me/custom-fields/${taskCustomFieldDefinitionId}`; - }; - -export const deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete = - async ( - taskCustomFieldDefinitionId: string, - options?: RequestInit, - ): Promise => { - return customFetch( - getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteUrl( - taskCustomFieldDefinitionId, - ), - { - ...options, - method: "DELETE", - }, - ); - }; - -export const getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete - > - >, - TError, - { taskCustomFieldDefinitionId: string }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType< - typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete - > - >, - TError, - { taskCustomFieldDefinitionId: string }, - TContext - > => { - const mutationKey = [ - "deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType< - typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete - > - >, - { taskCustomFieldDefinitionId: string } - > = (props) => { - const { taskCustomFieldDefinitionId } = props ?? {}; - - return deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete( - taskCustomFieldDefinitionId, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type DeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationResult = - NonNullable< - Awaited< - ReturnType< - typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete - > - > - >; - -export type DeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Delete Org Custom Field - */ -export const useDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete = - ( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete - > - >, - TError, - { taskCustomFieldDefinitionId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, - ): UseMutationResult< - Awaited< - ReturnType< - typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete - > - >, - TError, - { taskCustomFieldDefinitionId: string }, - TContext - > => { - return useMutation( - getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationOptions( - options, - ), - queryClient, - ); - }; /** * Update an organization-level task custom field definition. * @summary Update Org Custom Field @@ -749,3 +597,155 @@ export const useUpdateOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFi queryClient, ); }; +/** + * Delete an org-level definition when it has no persisted task values. + * @summary Delete Org Custom Field + */ +export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse200 = + { + data: OkResponse; + status: 200; + }; + +export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseSuccess = + deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseError = + deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponse = + + | deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseSuccess + | deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteResponseError; + +export const getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteUrl = + (taskCustomFieldDefinitionId: string) => { + return `/api/v1/organizations/me/custom-fields/${taskCustomFieldDefinitionId}`; + }; + +export const deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete = + async ( + taskCustomFieldDefinitionId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteUrl( + taskCustomFieldDefinitionId, + ), + { + ...options, + method: "DELETE", + }, + ); + }; + +export const getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete + > + >, + TError, + { taskCustomFieldDefinitionId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete + > + >, + TError, + { taskCustomFieldDefinitionId: string }, + TContext + > => { + const mutationKey = [ + "deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete + > + >, + { taskCustomFieldDefinitionId: string } + > = (props) => { + const { taskCustomFieldDefinitionId } = props ?? {}; + + return deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete( + taskCustomFieldDefinitionId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type DeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete + > + > + >; + +export type DeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Org Custom Field + */ +export const useDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete + > + >, + TError, + { taskCustomFieldDefinitionId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof deleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDelete + > + >, + TError, + { taskCustomFieldDefinitionId: string }, + TContext + > => { + return useMutation( + getDeleteOrgCustomFieldApiV1OrganizationsMeCustomFieldsTaskCustomFieldDefinitionIdDeleteMutationOptions( + options, + ), + queryClient, + ); + }; diff --git a/frontend/src/api/generated/forgejo-connections/forgejo-connections.ts b/frontend/src/api/generated/forgejo-connections/forgejo-connections.ts new file mode 100644 index 0000000..18952d6 --- /dev/null +++ b/frontend/src/api/generated/forgejo-connections/forgejo-connections.ts @@ -0,0 +1,1458 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import { useMutation, useQuery } from "@tanstack/react-query"; +import type { + DataTag, + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryClient, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult, +} from "@tanstack/react-query"; + +import type { + ForgejoConnectionCreate, + ForgejoConnectionRead, + ForgejoConnectionTestRequest, + ForgejoConnectionTestResponse, + ForgejoConnectionUpdate, + ForgejoConnectionValidationResponse, + HTTPValidationError, + ListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet200Item, + OkResponse, +} from ".././model"; + +import { customFetch } from "../../mutator"; + +type SecondParameter unknown> = Parameters[1]; + +/** + * List Forgejo connections for the caller's organization. + * @summary List Connections + */ +export type listConnectionsApiV1ForgejoConnectionsGetResponse200 = { + data: ForgejoConnectionRead[]; + status: 200; +}; + +export type listConnectionsApiV1ForgejoConnectionsGetResponseSuccess = + listConnectionsApiV1ForgejoConnectionsGetResponse200 & { + headers: Headers; + }; +export type listConnectionsApiV1ForgejoConnectionsGetResponse = + listConnectionsApiV1ForgejoConnectionsGetResponseSuccess; + +export const getListConnectionsApiV1ForgejoConnectionsGetUrl = () => { + return `/api/v1/forgejo/connections`; +}; + +export const listConnectionsApiV1ForgejoConnectionsGet = async ( + options?: RequestInit, +): Promise => { + return customFetch( + getListConnectionsApiV1ForgejoConnectionsGetUrl(), + { + ...options, + method: "GET", + }, + ); +}; + +export const getListConnectionsApiV1ForgejoConnectionsGetQueryKey = () => { + return [`/api/v1/forgejo/connections`] as const; +}; + +export const getListConnectionsApiV1ForgejoConnectionsGetQueryOptions = < + TData = Awaited>, + TError = unknown, +>(options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; +}) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListConnectionsApiV1ForgejoConnectionsGetQueryKey(); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listConnectionsApiV1ForgejoConnectionsGet({ signal, ...requestOptions }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type ListConnectionsApiV1ForgejoConnectionsGetQueryResult = NonNullable< + Awaited> +>; +export type ListConnectionsApiV1ForgejoConnectionsGetQueryError = unknown; + +export function useListConnectionsApiV1ForgejoConnectionsGet< + TData = Awaited>, + TError = unknown, +>( + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListConnectionsApiV1ForgejoConnectionsGet< + TData = Awaited>, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListConnectionsApiV1ForgejoConnectionsGet< + TData = Awaited>, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Connections + */ + +export function useListConnectionsApiV1ForgejoConnectionsGet< + TData = Awaited>, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListConnectionsApiV1ForgejoConnectionsGetQueryOptions(options); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Create a Forgejo connection for the caller's organization. + * @summary Create Connection + */ +export type createConnectionApiV1ForgejoConnectionsPostResponse200 = { + data: ForgejoConnectionRead; + status: 200; +}; + +export type createConnectionApiV1ForgejoConnectionsPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type createConnectionApiV1ForgejoConnectionsPostResponseSuccess = + createConnectionApiV1ForgejoConnectionsPostResponse200 & { + headers: Headers; + }; +export type createConnectionApiV1ForgejoConnectionsPostResponseError = + createConnectionApiV1ForgejoConnectionsPostResponse422 & { + headers: Headers; + }; + +export type createConnectionApiV1ForgejoConnectionsPostResponse = + | createConnectionApiV1ForgejoConnectionsPostResponseSuccess + | createConnectionApiV1ForgejoConnectionsPostResponseError; + +export const getCreateConnectionApiV1ForgejoConnectionsPostUrl = () => { + return `/api/v1/forgejo/connections`; +}; + +export const createConnectionApiV1ForgejoConnectionsPost = async ( + forgejoConnectionCreate: ForgejoConnectionCreate, + options?: RequestInit, +): Promise => { + return customFetch( + getCreateConnectionApiV1ForgejoConnectionsPostUrl(), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(forgejoConnectionCreate), + }, + ); +}; + +export const getCreateConnectionApiV1ForgejoConnectionsPostMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: ForgejoConnectionCreate }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { data: ForgejoConnectionCreate }, + TContext +> => { + const mutationKey = ["createConnectionApiV1ForgejoConnectionsPost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { data: ForgejoConnectionCreate } + > = (props) => { + const { data } = props ?? {}; + + return createConnectionApiV1ForgejoConnectionsPost(data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type CreateConnectionApiV1ForgejoConnectionsPostMutationResult = + NonNullable< + Awaited> + >; +export type CreateConnectionApiV1ForgejoConnectionsPostMutationBody = + ForgejoConnectionCreate; +export type CreateConnectionApiV1ForgejoConnectionsPostMutationError = + HTTPValidationError; + +/** + * @summary Create Connection + */ +export const useCreateConnectionApiV1ForgejoConnectionsPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: ForgejoConnectionCreate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { data: ForgejoConnectionCreate }, + TContext +> => { + return useMutation( + getCreateConnectionApiV1ForgejoConnectionsPostMutationOptions(options), + queryClient, + ); +}; +/** + * Return one Forgejo connection by id for the caller's organization. + * @summary Get Connection + */ +export type getConnectionApiV1ForgejoConnectionsConnectionIdGetResponse200 = { + data: ForgejoConnectionRead; + status: 200; +}; + +export type getConnectionApiV1ForgejoConnectionsConnectionIdGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type getConnectionApiV1ForgejoConnectionsConnectionIdGetResponseSuccess = + getConnectionApiV1ForgejoConnectionsConnectionIdGetResponse200 & { + headers: Headers; + }; +export type getConnectionApiV1ForgejoConnectionsConnectionIdGetResponseError = + getConnectionApiV1ForgejoConnectionsConnectionIdGetResponse422 & { + headers: Headers; + }; + +export type getConnectionApiV1ForgejoConnectionsConnectionIdGetResponse = + | getConnectionApiV1ForgejoConnectionsConnectionIdGetResponseSuccess + | getConnectionApiV1ForgejoConnectionsConnectionIdGetResponseError; + +export const getGetConnectionApiV1ForgejoConnectionsConnectionIdGetUrl = ( + connectionId: string, +) => { + return `/api/v1/forgejo/connections/${connectionId}`; +}; + +export const getConnectionApiV1ForgejoConnectionsConnectionIdGet = async ( + connectionId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getGetConnectionApiV1ForgejoConnectionsConnectionIdGetUrl(connectionId), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetConnectionApiV1ForgejoConnectionsConnectionIdGetQueryKey = ( + connectionId: string, +) => { + return [`/api/v1/forgejo/connections/${connectionId}`] as const; +}; + +export const getGetConnectionApiV1ForgejoConnectionsConnectionIdGetQueryOptions = + < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, + >( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getConnectionApiV1ForgejoConnectionsConnectionIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetConnectionApiV1ForgejoConnectionsConnectionIdGetQueryKey( + connectionId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType + > + > = ({ signal }) => + getConnectionApiV1ForgejoConnectionsConnectionIdGet(connectionId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!connectionId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type GetConnectionApiV1ForgejoConnectionsConnectionIdGetQueryResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type GetConnectionApiV1ForgejoConnectionsConnectionIdGetQueryError = + HTTPValidationError; + +export function useGetConnectionApiV1ForgejoConnectionsConnectionIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + connectionId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getConnectionApiV1ForgejoConnectionsConnectionIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getConnectionApiV1ForgejoConnectionsConnectionIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetConnectionApiV1ForgejoConnectionsConnectionIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getConnectionApiV1ForgejoConnectionsConnectionIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getConnectionApiV1ForgejoConnectionsConnectionIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetConnectionApiV1ForgejoConnectionsConnectionIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get Connection + */ + +export function useGetConnectionApiV1ForgejoConnectionsConnectionIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetConnectionApiV1ForgejoConnectionsConnectionIdGetQueryOptions( + connectionId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Patch a Forgejo connection for the caller's organization. + * @summary Update Connection + */ +export type updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponse200 = + { + data: ForgejoConnectionRead; + status: 200; + }; + +export type updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponseSuccess = + updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponse200 & { + headers: Headers; + }; +export type updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponseError = + updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponse422 & { + headers: Headers; + }; + +export type updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponse = + | updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponseSuccess + | updateConnectionApiV1ForgejoConnectionsConnectionIdPatchResponseError; + +export const getUpdateConnectionApiV1ForgejoConnectionsConnectionIdPatchUrl = ( + connectionId: string, +) => { + return `/api/v1/forgejo/connections/${connectionId}`; +}; + +export const updateConnectionApiV1ForgejoConnectionsConnectionIdPatch = async ( + connectionId: string, + forgejoConnectionUpdate: ForgejoConnectionUpdate, + options?: RequestInit, +): Promise => { + return customFetch( + getUpdateConnectionApiV1ForgejoConnectionsConnectionIdPatchUrl( + connectionId, + ), + { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(forgejoConnectionUpdate), + }, + ); +}; + +export const getUpdateConnectionApiV1ForgejoConnectionsConnectionIdPatchMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateConnectionApiV1ForgejoConnectionsConnectionIdPatch + > + >, + TError, + { connectionId: string; data: ForgejoConnectionUpdate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof updateConnectionApiV1ForgejoConnectionsConnectionIdPatch + > + >, + TError, + { connectionId: string; data: ForgejoConnectionUpdate }, + TContext + > => { + const mutationKey = [ + "updateConnectionApiV1ForgejoConnectionsConnectionIdPatch", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof updateConnectionApiV1ForgejoConnectionsConnectionIdPatch + > + >, + { connectionId: string; data: ForgejoConnectionUpdate } + > = (props) => { + const { connectionId, data } = props ?? {}; + + return updateConnectionApiV1ForgejoConnectionsConnectionIdPatch( + connectionId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type UpdateConnectionApiV1ForgejoConnectionsConnectionIdPatchMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof updateConnectionApiV1ForgejoConnectionsConnectionIdPatch + > + > + >; +export type UpdateConnectionApiV1ForgejoConnectionsConnectionIdPatchMutationBody = + ForgejoConnectionUpdate; +export type UpdateConnectionApiV1ForgejoConnectionsConnectionIdPatchMutationError = + HTTPValidationError; + +/** + * @summary Update Connection + */ +export const useUpdateConnectionApiV1ForgejoConnectionsConnectionIdPatch = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateConnectionApiV1ForgejoConnectionsConnectionIdPatch + > + >, + TError, + { connectionId: string; data: ForgejoConnectionUpdate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { connectionId: string; data: ForgejoConnectionUpdate }, + TContext +> => { + return useMutation( + getUpdateConnectionApiV1ForgejoConnectionsConnectionIdPatchMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Delete a Forgejo connection for the caller's organization. + * @summary Delete Connection + */ +export type deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponse200 = + { + data: OkResponse; + status: 200; + }; + +export type deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponseSuccess = + deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponseError = + deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponse = + | deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponseSuccess + | deleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteResponseError; + +export const getDeleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteUrl = ( + connectionId: string, +) => { + return `/api/v1/forgejo/connections/${connectionId}`; +}; + +export const deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete = async ( + connectionId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteUrl( + connectionId, + ), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete + > + >, + TError, + { connectionId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete + > + >, + TError, + { connectionId: string }, + TContext + > => { + const mutationKey = [ + "deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete + > + >, + { connectionId: string } + > = (props) => { + const { connectionId } = props ?? {}; + + return deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete( + connectionId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type DeleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete + > + > + >; + +export type DeleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Connection + */ +export const useDeleteConnectionApiV1ForgejoConnectionsConnectionIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteConnectionApiV1ForgejoConnectionsConnectionIdDelete + > + >, + TError, + { connectionId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { connectionId: string }, + TContext +> => { + return useMutation( + getDeleteConnectionApiV1ForgejoConnectionsConnectionIdDeleteMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Validate a base URL and token against a Forgejo instance without saving a connection record. + * @summary Test Connection Before Saving + */ +export type testConnectionApiV1ForgejoConnectionsTestPostResponse200 = { + data: ForgejoConnectionTestResponse; + status: 200; +}; + +export type testConnectionApiV1ForgejoConnectionsTestPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type testConnectionApiV1ForgejoConnectionsTestPostResponseSuccess = + testConnectionApiV1ForgejoConnectionsTestPostResponse200 & { + headers: Headers; + }; +export type testConnectionApiV1ForgejoConnectionsTestPostResponseError = + testConnectionApiV1ForgejoConnectionsTestPostResponse422 & { + headers: Headers; + }; + +export type testConnectionApiV1ForgejoConnectionsTestPostResponse = + | testConnectionApiV1ForgejoConnectionsTestPostResponseSuccess + | testConnectionApiV1ForgejoConnectionsTestPostResponseError; + +export const getTestConnectionApiV1ForgejoConnectionsTestPostUrl = () => { + return `/api/v1/forgejo/connections/test`; +}; + +export const testConnectionApiV1ForgejoConnectionsTestPost = async ( + forgejoConnectionTestRequest: ForgejoConnectionTestRequest, + options?: RequestInit, +): Promise => { + return customFetch( + getTestConnectionApiV1ForgejoConnectionsTestPostUrl(), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(forgejoConnectionTestRequest), + }, + ); +}; + +export const getTestConnectionApiV1ForgejoConnectionsTestPostMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: ForgejoConnectionTestRequest }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { data: ForgejoConnectionTestRequest }, + TContext +> => { + const mutationKey = ["testConnectionApiV1ForgejoConnectionsTestPost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { data: ForgejoConnectionTestRequest } + > = (props) => { + const { data } = props ?? {}; + + return testConnectionApiV1ForgejoConnectionsTestPost(data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type TestConnectionApiV1ForgejoConnectionsTestPostMutationResult = + NonNullable< + Awaited> + >; +export type TestConnectionApiV1ForgejoConnectionsTestPostMutationBody = + ForgejoConnectionTestRequest; +export type TestConnectionApiV1ForgejoConnectionsTestPostMutationError = + HTTPValidationError; + +/** + * @summary Test Connection Before Saving + */ +export const useTestConnectionApiV1ForgejoConnectionsTestPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: ForgejoConnectionTestRequest }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { data: ForgejoConnectionTestRequest }, + TContext +> => { + return useMutation( + getTestConnectionApiV1ForgejoConnectionsTestPostMutationOptions(options), + queryClient, + ); +}; +/** + * Return repositories the connection token can access on the Forgejo instance. + * @summary List Available Repositories + */ +export type listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponse200 = + { + data: ListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet200Item[]; + status: 200; + }; + +export type listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponseSuccess = + listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponse200 & { + headers: Headers; + }; +export type listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponseError = + listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponse422 & { + headers: Headers; + }; + +export type listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponse = + + | listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponseSuccess + | listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetResponseError; + +export const getListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetUrl = + (connectionId: string) => { + return `/api/v1/forgejo/connections/${connectionId}/repos`; + }; + +export const listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet = + async ( + connectionId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetUrl( + connectionId, + ), + { + ...options, + method: "GET", + }, + ); + }; + +export const getListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetQueryKey = + (connectionId: string) => { + return [`/api/v1/forgejo/connections/${connectionId}/repos`] as const; + }; + +export const getListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetQueryOptions = + < + TData = Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError = HTTPValidationError, + >( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetQueryKey( + connectionId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + > + > = ({ signal }) => + listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet( + connectionId, + { signal, ...requestOptions }, + ); + + return { + queryKey, + queryFn, + enabled: !!connectionId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type ListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetQueryResult = + NonNullable< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + > + >; +export type ListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetQueryError = + HTTPValidationError; + +export function useListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet< + TData = Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError = HTTPValidationError, +>( + connectionId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet< + TData = Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError = HTTPValidationError, +>( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet< + TData = Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError = HTTPValidationError, +>( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Available Repositories + */ + +export function useListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet< + TData = Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError = HTTPValidationError, +>( + connectionId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGetQueryOptions( + connectionId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Test if a Forgejo connection can authenticate and access the API. + * @summary Validate Forgejo Connection + */ +export type validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponse200 = + { + data: ForgejoConnectionValidationResponse; + status: 200; + }; + +export type validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponseSuccess = + validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponse200 & { + headers: Headers; + }; +export type validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponseError = + validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponse422 & { + headers: Headers; + }; + +export type validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponse = + + | validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponseSuccess + | validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostResponseError; + +export const getValidateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostUrl = + (connectionId: string) => { + return `/api/v1/forgejo/connections/${connectionId}/validate`; + }; + +export const validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost = + async ( + connectionId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getValidateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostUrl( + connectionId, + ), + { + ...options, + method: "POST", + }, + ); + }; + +export const getValidateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost + > + >, + TError, + { connectionId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost + > + >, + TError, + { connectionId: string }, + TContext + > => { + const mutationKey = [ + "validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost + > + >, + { connectionId: string } + > = (props) => { + const { connectionId } = props ?? {}; + + return validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost( + connectionId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type ValidateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost + > + > + >; + +export type ValidateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostMutationError = + HTTPValidationError; + +/** + * @summary Validate Forgejo Connection + */ +export const useValidateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost + > + >, + TError, + { connectionId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof validateConnectionApiV1ForgejoConnectionsConnectionIdValidatePost + > + >, + TError, + { connectionId: string }, + TContext + > => { + return useMutation( + getValidateConnectionApiV1ForgejoConnectionsConnectionIdValidatePostMutationOptions( + options, + ), + queryClient, + ); + }; diff --git a/frontend/src/api/generated/forgejo-issues/forgejo-issues.ts b/frontend/src/api/generated/forgejo-issues/forgejo-issues.ts new file mode 100644 index 0000000..e35cae3 --- /dev/null +++ b/frontend/src/api/generated/forgejo-issues/forgejo-issues.ts @@ -0,0 +1,601 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import { useMutation, useQuery } from "@tanstack/react-query"; +import type { + DataTag, + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryClient, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult, +} from "@tanstack/react-query"; + +import type { + CloseIssueResponse, + ForgejoIssueListResponse, + ForgejoIssueRead, + HTTPValidationError, + ListIssuesApiV1ForgejoIssuesGetParams, +} from ".././model"; + +import { customFetch } from "../../mutator"; + +type SecondParameter unknown> = Parameters[1]; + +/** + * List cached issues with optional filters. + * @summary List Issues + */ +export type listIssuesApiV1ForgejoIssuesGetResponse200 = { + data: ForgejoIssueListResponse; + status: 200; +}; + +export type listIssuesApiV1ForgejoIssuesGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type listIssuesApiV1ForgejoIssuesGetResponseSuccess = + listIssuesApiV1ForgejoIssuesGetResponse200 & { + headers: Headers; + }; +export type listIssuesApiV1ForgejoIssuesGetResponseError = + listIssuesApiV1ForgejoIssuesGetResponse422 & { + headers: Headers; + }; + +export type listIssuesApiV1ForgejoIssuesGetResponse = + | listIssuesApiV1ForgejoIssuesGetResponseSuccess + | listIssuesApiV1ForgejoIssuesGetResponseError; + +export const getListIssuesApiV1ForgejoIssuesGetUrl = ( + params?: ListIssuesApiV1ForgejoIssuesGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/forgejo/issues?${stringifiedParams}` + : `/api/v1/forgejo/issues`; +}; + +export const listIssuesApiV1ForgejoIssuesGet = async ( + params?: ListIssuesApiV1ForgejoIssuesGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getListIssuesApiV1ForgejoIssuesGetUrl(params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getListIssuesApiV1ForgejoIssuesGetQueryKey = ( + params?: ListIssuesApiV1ForgejoIssuesGetParams, +) => { + return [`/api/v1/forgejo/issues`, ...(params ? [params] : [])] as const; +}; + +export const getListIssuesApiV1ForgejoIssuesGetQueryOptions = < + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: ListIssuesApiV1ForgejoIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListIssuesApiV1ForgejoIssuesGetQueryKey(params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listIssuesApiV1ForgejoIssuesGet(params, { signal, ...requestOptions }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type ListIssuesApiV1ForgejoIssuesGetQueryResult = NonNullable< + Awaited> +>; +export type ListIssuesApiV1ForgejoIssuesGetQueryError = HTTPValidationError; + +export function useListIssuesApiV1ForgejoIssuesGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params: undefined | ListIssuesApiV1ForgejoIssuesGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListIssuesApiV1ForgejoIssuesGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: ListIssuesApiV1ForgejoIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListIssuesApiV1ForgejoIssuesGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: ListIssuesApiV1ForgejoIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Issues + */ + +export function useListIssuesApiV1ForgejoIssuesGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: ListIssuesApiV1ForgejoIssuesGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = getListIssuesApiV1ForgejoIssuesGetQueryOptions( + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Get one cached issue by ID. + * @summary Get Issue + */ +export type getIssueApiV1ForgejoIssuesIssueIdGetResponse200 = { + data: ForgejoIssueRead; + status: 200; +}; + +export type getIssueApiV1ForgejoIssuesIssueIdGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type getIssueApiV1ForgejoIssuesIssueIdGetResponseSuccess = + getIssueApiV1ForgejoIssuesIssueIdGetResponse200 & { + headers: Headers; + }; +export type getIssueApiV1ForgejoIssuesIssueIdGetResponseError = + getIssueApiV1ForgejoIssuesIssueIdGetResponse422 & { + headers: Headers; + }; + +export type getIssueApiV1ForgejoIssuesIssueIdGetResponse = + | getIssueApiV1ForgejoIssuesIssueIdGetResponseSuccess + | getIssueApiV1ForgejoIssuesIssueIdGetResponseError; + +export const getGetIssueApiV1ForgejoIssuesIssueIdGetUrl = (issueId: string) => { + return `/api/v1/forgejo/issues/${issueId}`; +}; + +export const getIssueApiV1ForgejoIssuesIssueIdGet = async ( + issueId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getGetIssueApiV1ForgejoIssuesIssueIdGetUrl(issueId), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetIssueApiV1ForgejoIssuesIssueIdGetQueryKey = ( + issueId: string, +) => { + return [`/api/v1/forgejo/issues/${issueId}`] as const; +}; + +export const getGetIssueApiV1ForgejoIssuesIssueIdGetQueryOptions = < + TData = Awaited>, + TError = HTTPValidationError, +>( + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetIssueApiV1ForgejoIssuesIssueIdGetQueryKey(issueId); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + getIssueApiV1ForgejoIssuesIssueIdGet(issueId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!issueId, + ...queryOptions, + } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type GetIssueApiV1ForgejoIssuesIssueIdGetQueryResult = NonNullable< + Awaited> +>; +export type GetIssueApiV1ForgejoIssuesIssueIdGetQueryError = + HTTPValidationError; + +export function useGetIssueApiV1ForgejoIssuesIssueIdGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + issueId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetIssueApiV1ForgejoIssuesIssueIdGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetIssueApiV1ForgejoIssuesIssueIdGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get Issue + */ + +export function useGetIssueApiV1ForgejoIssuesIssueIdGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + issueId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = getGetIssueApiV1ForgejoIssuesIssueIdGetQueryOptions( + issueId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Close a Forgejo issue by its local ID. The user must have write access to the board that the issue's repository is linked to. + * @summary Close a Forgejo issue (human user) + */ +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse200 = { + data: CloseIssueResponse; + status: 200; +}; + +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse403 = { + data: void; + status: 403; +}; + +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse404 = { + data: void; + status: 404; +}; + +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse409 = { + data: void; + status: 409; +}; + +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse502 = { + data: void; + status: 502; +}; + +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponseSuccess = + closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse200 & { + headers: Headers; + }; +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponseError = ( + | closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse403 + | closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse404 + | closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse409 + | closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse422 + | closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse502 +) & { + headers: Headers; +}; + +export type closeIssueApiV1ForgejoIssuesIssueIdClosePostResponse = + | closeIssueApiV1ForgejoIssuesIssueIdClosePostResponseSuccess + | closeIssueApiV1ForgejoIssuesIssueIdClosePostResponseError; + +export const getCloseIssueApiV1ForgejoIssuesIssueIdClosePostUrl = ( + issueId: string, +) => { + return `/api/v1/forgejo/issues/${issueId}/close`; +}; + +export const closeIssueApiV1ForgejoIssuesIssueIdClosePost = async ( + issueId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getCloseIssueApiV1ForgejoIssuesIssueIdClosePostUrl(issueId), + { + ...options, + method: "POST", + }, + ); +}; + +export const getCloseIssueApiV1ForgejoIssuesIssueIdClosePostMutationOptions = < + TError = void | HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { issueId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { issueId: string }, + TContext +> => { + const mutationKey = ["closeIssueApiV1ForgejoIssuesIssueIdClosePost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { issueId: string } + > = (props) => { + const { issueId } = props ?? {}; + + return closeIssueApiV1ForgejoIssuesIssueIdClosePost( + issueId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type CloseIssueApiV1ForgejoIssuesIssueIdClosePostMutationResult = + NonNullable< + Awaited> + >; + +export type CloseIssueApiV1ForgejoIssuesIssueIdClosePostMutationError = + void | HTTPValidationError; + +/** + * @summary Close a Forgejo issue (human user) + */ +export const useCloseIssueApiV1ForgejoIssuesIssueIdClosePost = < + TError = void | HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { issueId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { issueId: string }, + TContext +> => { + return useMutation( + getCloseIssueApiV1ForgejoIssuesIssueIdClosePostMutationOptions(options), + queryClient, + ); +}; diff --git a/frontend/src/api/generated/forgejo-metrics/forgejo-metrics.ts b/frontend/src/api/generated/forgejo-metrics/forgejo-metrics.ts new file mode 100644 index 0000000..e8d5c32 --- /dev/null +++ b/frontend/src/api/generated/forgejo-metrics/forgejo-metrics.ts @@ -0,0 +1,469 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import { useQuery } from "@tanstack/react-query"; +import type { + DataTag, + DefinedInitialDataOptions, + DefinedUseQueryResult, + QueryClient, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseQueryOptions, + UseQueryResult, +} from "@tanstack/react-query"; + +import type { + GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, + GetForgejoMetricsApiV1ForgejoMetricsGetParams, + HTTPValidationError, + HeatmapResponse, + MetricsResponse, +} from ".././model"; + +import { customFetch } from "../../mutator"; + +type SecondParameter unknown> = Parameters[1]; + +/** + * Get aggregated metrics for Forgejo issues across linked repositories. Supports filtering by organization_id, board_id, or repository_id. Empty scope returns zeroed metrics. + * @summary Forgejo issue tracking metrics + */ +export type getForgejoMetricsApiV1ForgejoMetricsGetResponse200 = { + data: MetricsResponse; + status: 200; +}; + +export type getForgejoMetricsApiV1ForgejoMetricsGetResponse403 = { + data: void; + status: 403; +}; + +export type getForgejoMetricsApiV1ForgejoMetricsGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type getForgejoMetricsApiV1ForgejoMetricsGetResponseSuccess = + getForgejoMetricsApiV1ForgejoMetricsGetResponse200 & { + headers: Headers; + }; +export type getForgejoMetricsApiV1ForgejoMetricsGetResponseError = ( + | getForgejoMetricsApiV1ForgejoMetricsGetResponse403 + | getForgejoMetricsApiV1ForgejoMetricsGetResponse422 +) & { + headers: Headers; +}; + +export type getForgejoMetricsApiV1ForgejoMetricsGetResponse = + | getForgejoMetricsApiV1ForgejoMetricsGetResponseSuccess + | getForgejoMetricsApiV1ForgejoMetricsGetResponseError; + +export const getGetForgejoMetricsApiV1ForgejoMetricsGetUrl = ( + params?: GetForgejoMetricsApiV1ForgejoMetricsGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/forgejo/metrics?${stringifiedParams}` + : `/api/v1/forgejo/metrics`; +}; + +export const getForgejoMetricsApiV1ForgejoMetricsGet = async ( + params?: GetForgejoMetricsApiV1ForgejoMetricsGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getGetForgejoMetricsApiV1ForgejoMetricsGetUrl(params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetForgejoMetricsApiV1ForgejoMetricsGetQueryKey = ( + params?: GetForgejoMetricsApiV1ForgejoMetricsGetParams, +) => { + return [`/api/v1/forgejo/metrics`, ...(params ? [params] : [])] as const; +}; + +export const getGetForgejoMetricsApiV1ForgejoMetricsGetQueryOptions = < + TData = Awaited>, + TError = void | HTTPValidationError, +>( + params?: GetForgejoMetricsApiV1ForgejoMetricsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetForgejoMetricsApiV1ForgejoMetricsGetQueryKey(params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + getForgejoMetricsApiV1ForgejoMetricsGet(params, { + signal, + ...requestOptions, + }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type GetForgejoMetricsApiV1ForgejoMetricsGetQueryResult = NonNullable< + Awaited> +>; +export type GetForgejoMetricsApiV1ForgejoMetricsGetQueryError = + void | HTTPValidationError; + +export function useGetForgejoMetricsApiV1ForgejoMetricsGet< + TData = Awaited>, + TError = void | HTTPValidationError, +>( + params: undefined | GetForgejoMetricsApiV1ForgejoMetricsGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetForgejoMetricsApiV1ForgejoMetricsGet< + TData = Awaited>, + TError = void | HTTPValidationError, +>( + params?: GetForgejoMetricsApiV1ForgejoMetricsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetForgejoMetricsApiV1ForgejoMetricsGet< + TData = Awaited>, + TError = void | HTTPValidationError, +>( + params?: GetForgejoMetricsApiV1ForgejoMetricsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Forgejo issue tracking metrics + */ + +export function useGetForgejoMetricsApiV1ForgejoMetricsGet< + TData = Awaited>, + TError = void | HTTPValidationError, +>( + params?: GetForgejoMetricsApiV1ForgejoMetricsGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = getGetForgejoMetricsApiV1ForgejoMetricsGetQueryOptions( + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Daily issue open+close event counts for the last 365 days, scoped to the caller's organisation. + * @summary Forgejo issue activity heatmap + */ +export type getForgejoHeatmapApiV1ForgejoHeatmapGetResponse200 = { + data: HeatmapResponse; + status: 200; +}; + +export type getForgejoHeatmapApiV1ForgejoHeatmapGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type getForgejoHeatmapApiV1ForgejoHeatmapGetResponseSuccess = + getForgejoHeatmapApiV1ForgejoHeatmapGetResponse200 & { + headers: Headers; + }; +export type getForgejoHeatmapApiV1ForgejoHeatmapGetResponseError = + getForgejoHeatmapApiV1ForgejoHeatmapGetResponse422 & { + headers: Headers; + }; + +export type getForgejoHeatmapApiV1ForgejoHeatmapGetResponse = + | getForgejoHeatmapApiV1ForgejoHeatmapGetResponseSuccess + | getForgejoHeatmapApiV1ForgejoHeatmapGetResponseError; + +export const getGetForgejoHeatmapApiV1ForgejoHeatmapGetUrl = ( + params?: GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/forgejo/heatmap?${stringifiedParams}` + : `/api/v1/forgejo/heatmap`; +}; + +export const getForgejoHeatmapApiV1ForgejoHeatmapGet = async ( + params?: GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getGetForgejoHeatmapApiV1ForgejoHeatmapGetUrl(params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetForgejoHeatmapApiV1ForgejoHeatmapGetQueryKey = ( + params?: GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, +) => { + return [`/api/v1/forgejo/heatmap`, ...(params ? [params] : [])] as const; +}; + +export const getGetForgejoHeatmapApiV1ForgejoHeatmapGetQueryOptions = < + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetForgejoHeatmapApiV1ForgejoHeatmapGetQueryKey(params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + getForgejoHeatmapApiV1ForgejoHeatmapGet(params, { + signal, + ...requestOptions, + }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type GetForgejoHeatmapApiV1ForgejoHeatmapGetQueryResult = NonNullable< + Awaited> +>; +export type GetForgejoHeatmapApiV1ForgejoHeatmapGetQueryError = + HTTPValidationError; + +export function useGetForgejoHeatmapApiV1ForgejoHeatmapGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params: undefined | GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetForgejoHeatmapApiV1ForgejoHeatmapGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetForgejoHeatmapApiV1ForgejoHeatmapGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Forgejo issue activity heatmap + */ + +export function useGetForgejoHeatmapApiV1ForgejoHeatmapGet< + TData = Awaited>, + TError = HTTPValidationError, +>( + params?: GetForgejoHeatmapApiV1ForgejoHeatmapGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = getGetForgejoHeatmapApiV1ForgejoHeatmapGetQueryOptions( + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} diff --git a/frontend/src/api/generated/forgejo-repositories/forgejo-repositories.ts b/frontend/src/api/generated/forgejo-repositories/forgejo-repositories.ts new file mode 100644 index 0000000..bce96a3 --- /dev/null +++ b/frontend/src/api/generated/forgejo-repositories/forgejo-repositories.ts @@ -0,0 +1,1230 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import { useMutation, useQuery } from "@tanstack/react-query"; +import type { + DataTag, + DefinedInitialDataOptions, + DefinedUseQueryResult, + MutationFunction, + QueryClient, + QueryFunction, + QueryKey, + UndefinedInitialDataOptions, + UseMutationOptions, + UseMutationResult, + UseQueryOptions, + UseQueryResult, +} from "@tanstack/react-query"; + +import type { + ForgejoRepositoryCreate, + ForgejoRepositoryRead, + ForgejoRepositoryUpdate, + ForgejoRepositoryValidationResponse, + HTTPValidationError, + OkResponse, + SyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost200, +} from ".././model"; + +import { customFetch } from "../../mutator"; + +type SecondParameter unknown> = Parameters[1]; + +/** + * List Forgejo repositories for the caller's organization. + * @summary List Repositories + */ +export type listRepositoriesApiV1ForgejoRepositoriesGetResponse200 = { + data: ForgejoRepositoryRead[]; + status: 200; +}; + +export type listRepositoriesApiV1ForgejoRepositoriesGetResponseSuccess = + listRepositoriesApiV1ForgejoRepositoriesGetResponse200 & { + headers: Headers; + }; +export type listRepositoriesApiV1ForgejoRepositoriesGetResponse = + listRepositoriesApiV1ForgejoRepositoriesGetResponseSuccess; + +export const getListRepositoriesApiV1ForgejoRepositoriesGetUrl = () => { + return `/api/v1/forgejo/repositories`; +}; + +export const listRepositoriesApiV1ForgejoRepositoriesGet = async ( + options?: RequestInit, +): Promise => { + return customFetch( + getListRepositoriesApiV1ForgejoRepositoriesGetUrl(), + { + ...options, + method: "GET", + }, + ); +}; + +export const getListRepositoriesApiV1ForgejoRepositoriesGetQueryKey = () => { + return [`/api/v1/forgejo/repositories`] as const; +}; + +export const getListRepositoriesApiV1ForgejoRepositoriesGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = unknown, +>(options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; +}) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListRepositoriesApiV1ForgejoRepositoriesGetQueryKey(); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listRepositoriesApiV1ForgejoRepositoriesGet({ signal, ...requestOptions }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type ListRepositoriesApiV1ForgejoRepositoriesGetQueryResult = + NonNullable< + Awaited> + >; +export type ListRepositoriesApiV1ForgejoRepositoriesGetQueryError = unknown; + +export function useListRepositoriesApiV1ForgejoRepositoriesGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListRepositoriesApiV1ForgejoRepositoriesGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListRepositoriesApiV1ForgejoRepositoriesGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Repositories + */ + +export function useListRepositoriesApiV1ForgejoRepositoriesGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListRepositoriesApiV1ForgejoRepositoriesGetQueryOptions(options); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Create a Forgejo repository tracked for the caller's organization. + * @summary Create Repository + */ +export type createRepositoryApiV1ForgejoRepositoriesPostResponse200 = { + data: ForgejoRepositoryRead; + status: 200; +}; + +export type createRepositoryApiV1ForgejoRepositoriesPostResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type createRepositoryApiV1ForgejoRepositoriesPostResponseSuccess = + createRepositoryApiV1ForgejoRepositoriesPostResponse200 & { + headers: Headers; + }; +export type createRepositoryApiV1ForgejoRepositoriesPostResponseError = + createRepositoryApiV1ForgejoRepositoriesPostResponse422 & { + headers: Headers; + }; + +export type createRepositoryApiV1ForgejoRepositoriesPostResponse = + | createRepositoryApiV1ForgejoRepositoriesPostResponseSuccess + | createRepositoryApiV1ForgejoRepositoriesPostResponseError; + +export const getCreateRepositoryApiV1ForgejoRepositoriesPostUrl = () => { + return `/api/v1/forgejo/repositories`; +}; + +export const createRepositoryApiV1ForgejoRepositoriesPost = async ( + forgejoRepositoryCreate: ForgejoRepositoryCreate, + options?: RequestInit, +): Promise => { + return customFetch( + getCreateRepositoryApiV1ForgejoRepositoriesPostUrl(), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(forgejoRepositoryCreate), + }, + ); +}; + +export const getCreateRepositoryApiV1ForgejoRepositoriesPostMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: ForgejoRepositoryCreate }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { data: ForgejoRepositoryCreate }, + TContext +> => { + const mutationKey = ["createRepositoryApiV1ForgejoRepositoriesPost"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { data: ForgejoRepositoryCreate } + > = (props) => { + const { data } = props ?? {}; + + return createRepositoryApiV1ForgejoRepositoriesPost(data, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type CreateRepositoryApiV1ForgejoRepositoriesPostMutationResult = + NonNullable< + Awaited> + >; +export type CreateRepositoryApiV1ForgejoRepositoriesPostMutationBody = + ForgejoRepositoryCreate; +export type CreateRepositoryApiV1ForgejoRepositoriesPostMutationError = + HTTPValidationError; + +/** + * @summary Create Repository + */ +export const useCreateRepositoryApiV1ForgejoRepositoriesPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { data: ForgejoRepositoryCreate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { data: ForgejoRepositoryCreate }, + TContext +> => { + return useMutation( + getCreateRepositoryApiV1ForgejoRepositoriesPostMutationOptions(options), + queryClient, + ); +}; +/** + * Return one Forgejo repository by id for the caller's organization. + * @summary Get Repository + */ +export type getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponse200 = { + data: ForgejoRepositoryRead; + status: 200; +}; + +export type getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponseSuccess = + getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponse200 & { + headers: Headers; + }; +export type getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponseError = + getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponse422 & { + headers: Headers; + }; + +export type getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponse = + | getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponseSuccess + | getRepositoryApiV1ForgejoRepositoriesRepositoryIdGetResponseError; + +export const getGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetUrl = ( + repositoryId: string, +) => { + return `/api/v1/forgejo/repositories/${repositoryId}`; +}; + +export const getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet = async ( + repositoryId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetUrl(repositoryId), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetQueryKey = ( + repositoryId: string, +) => { + return [`/api/v1/forgejo/repositories/${repositoryId}`] as const; +}; + +export const getGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetQueryOptions = + < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, + >( + repositoryId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetQueryKey( + repositoryId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType + > + > = ({ signal }) => + getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet(repositoryId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!repositoryId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type GetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetQueryResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type GetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetQueryError = + HTTPValidationError; + +export function useGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + repositoryId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + repositoryId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + repositoryId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get Repository + */ + +export function useGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + repositoryId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getRepositoryApiV1ForgejoRepositoriesRepositoryIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetRepositoryApiV1ForgejoRepositoriesRepositoryIdGetQueryOptions( + repositoryId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Patch a Forgejo repository for the caller's organization. + * @summary Update Repository + */ +export type updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponse200 = + { + data: ForgejoRepositoryRead; + status: 200; + }; + +export type updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponseSuccess = + updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponse200 & { + headers: Headers; + }; +export type updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponseError = + updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponse422 & { + headers: Headers; + }; + +export type updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponse = + | updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponseSuccess + | updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchResponseError; + +export const getUpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchUrl = ( + repositoryId: string, +) => { + return `/api/v1/forgejo/repositories/${repositoryId}`; +}; + +export const updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch = async ( + repositoryId: string, + forgejoRepositoryUpdate: ForgejoRepositoryUpdate, + options?: RequestInit, +): Promise => { + return customFetch( + getUpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchUrl( + repositoryId, + ), + { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(forgejoRepositoryUpdate), + }, + ); +}; + +export const getUpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch + > + >, + TError, + { repositoryId: string; data: ForgejoRepositoryUpdate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch + > + >, + TError, + { repositoryId: string; data: ForgejoRepositoryUpdate }, + TContext + > => { + const mutationKey = [ + "updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch + > + >, + { repositoryId: string; data: ForgejoRepositoryUpdate } + > = (props) => { + const { repositoryId, data } = props ?? {}; + + return updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch( + repositoryId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type UpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch + > + > + >; +export type UpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchMutationBody = + ForgejoRepositoryUpdate; +export type UpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchMutationError = + HTTPValidationError; + +/** + * @summary Update Repository + */ +export const useUpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatch + > + >, + TError, + { repositoryId: string; data: ForgejoRepositoryUpdate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { repositoryId: string; data: ForgejoRepositoryUpdate }, + TContext +> => { + return useMutation( + getUpdateRepositoryApiV1ForgejoRepositoriesRepositoryIdPatchMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Delete a Forgejo repository for the caller's organization. + * @summary Delete Repository + */ +export type deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponse200 = + { + data: OkResponse; + status: 200; + }; + +export type deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponseSuccess = + deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponseError = + deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponse = + | deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponseSuccess + | deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteResponseError; + +export const getDeleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteUrl = + (repositoryId: string) => { + return `/api/v1/forgejo/repositories/${repositoryId}`; + }; + +export const deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete = + async ( + repositoryId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getDeleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteUrl( + repositoryId, + ), + { + ...options, + method: "DELETE", + }, + ); + }; + +export const getDeleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { repositoryId: string }, + TContext + > => { + const mutationKey = [ + "deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete + > + >, + { repositoryId: string } + > = (props) => { + const { repositoryId } = props ?? {}; + + return deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete( + repositoryId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type DeleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete + > + > + >; + +export type DeleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Repository + */ +export const useDeleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType< + typeof deleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDelete + > + >, + TError, + { repositoryId: string }, + TContext +> => { + return useMutation( + getDeleteRepositoryApiV1ForgejoRepositoriesRepositoryIdDeleteMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Test if a Forgejo repository exists and can be accessed with the connection token. + * @summary Validate Forgejo Repository + */ +export type validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponse200 = + { + data: ForgejoRepositoryValidationResponse; + status: 200; + }; + +export type validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponseSuccess = + validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponse200 & { + headers: Headers; + }; +export type validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponseError = + validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponse422 & { + headers: Headers; + }; + +export type validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponse = + + | validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponseSuccess + | validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostResponseError; + +export const getValidateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostUrl = + (repositoryId: string) => { + return `/api/v1/forgejo/repositories/${repositoryId}/validate`; + }; + +export const validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost = + async ( + repositoryId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getValidateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostUrl( + repositoryId, + ), + { + ...options, + method: "POST", + }, + ); + }; + +export const getValidateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost + > + >, + TError, + { repositoryId: string }, + TContext + > => { + const mutationKey = [ + "validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost + > + >, + { repositoryId: string } + > = (props) => { + const { repositoryId } = props ?? {}; + + return validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost( + repositoryId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type ValidateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost + > + > + >; + +export type ValidateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostMutationError = + HTTPValidationError; + +/** + * @summary Validate Forgejo Repository + */ +export const useValidateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof validateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePost + > + >, + TError, + { repositoryId: string }, + TContext + > => { + return useMutation( + getValidateRepositoryApiV1ForgejoRepositoriesRepositoryIdValidatePostMutationOptions( + options, + ), + queryClient, + ); + }; +/** + * Sync issues from a Forgejo repository. + * @summary Sync Issues from Repository + */ +export type syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponse200 = + { + data: SyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost200; + status: 200; + }; + +export type syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponseSuccess = + syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponse200 & { + headers: Headers; + }; +export type syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponseError = + syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponse422 & { + headers: Headers; + }; + +export type syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponse = + + | syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponseSuccess + | syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostResponseError; + +export const getSyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostUrl = + (repositoryId: string) => { + return `/api/v1/forgejo/repositories/${repositoryId}/sync`; + }; + +export const syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost = + async ( + repositoryId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getSyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostUrl( + repositoryId, + ), + { + ...options, + method: "POST", + }, + ); + }; + +export const getSyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost + > + >, + TError, + { repositoryId: string }, + TContext + > => { + const mutationKey = [ + "syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost + > + >, + { repositoryId: string } + > = (props) => { + const { repositoryId } = props ?? {}; + + return syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost( + repositoryId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type SyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost + > + > + >; + +export type SyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostMutationError = + HTTPValidationError; + +/** + * @summary Sync Issues from Repository + */ +export const useSyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost + > + >, + TError, + { repositoryId: string }, + TContext + > => { + return useMutation( + getSyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPostMutationOptions( + options, + ), + queryClient, + ); + }; diff --git a/frontend/src/api/generated/forgejo-webhooks/forgejo-webhooks.ts b/frontend/src/api/generated/forgejo-webhooks/forgejo-webhooks.ts new file mode 100644 index 0000000..eddef39 --- /dev/null +++ b/frontend/src/api/generated/forgejo-webhooks/forgejo-webhooks.ts @@ -0,0 +1,174 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import { useMutation } from "@tanstack/react-query"; +import type { + MutationFunction, + QueryClient, + UseMutationOptions, + UseMutationResult, +} from "@tanstack/react-query"; + +import type { + ForgejoWebhookIngestResponse, + HTTPValidationError, +} from ".././model"; + +import { customFetch } from "../../mutator"; + +type SecondParameter unknown> = Parameters[1]; + +/** + * Receive Forgejo issue webhooks and update cached issue records. + * @summary Ingest Forgejo Webhook + */ +export type ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponse202 = + { + data: ForgejoWebhookIngestResponse; + status: 202; + }; + +export type ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponseSuccess = + ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponse202 & { + headers: Headers; + }; +export type ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponseError = + ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponse422 & { + headers: Headers; + }; + +export type ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponse = + | ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponseSuccess + | ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostResponseError; + +export const getIngestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostUrl = ( + repositoryId: string, +) => { + return `/api/v1/forgejo/webhooks/${repositoryId}`; +}; + +export const ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost = async ( + repositoryId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getIngestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostUrl( + repositoryId, + ), + { + ...options, + method: "POST", + }, + ); +}; + +export const getIngestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost + > + >, + TError, + { repositoryId: string }, + TContext + > => { + const mutationKey = [ + "ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost + > + >, + { repositoryId: string } + > = (props) => { + const { repositoryId } = props ?? {}; + + return ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost( + repositoryId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type IngestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost + > + > + >; + +export type IngestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostMutationError = + HTTPValidationError; + +/** + * @summary Ingest Forgejo Webhook + */ +export const useIngestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof ingestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPost + > + >, + TError, + { repositoryId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { repositoryId: string }, + TContext +> => { + return useMutation( + getIngestForgejoWebhookApiV1ForgejoWebhooksRepositoryIdPostMutationOptions( + options, + ), + queryClient, + ); +}; diff --git a/frontend/src/api/generated/gateways/gateways.ts b/frontend/src/api/generated/gateways/gateways.ts index 63e1f9b..0c70654 100644 --- a/frontend/src/api/generated/gateways/gateways.ts +++ b/frontend/src/api/generated/gateways/gateways.ts @@ -21,6 +21,9 @@ import type { } from "@tanstack/react-query"; import type { + GatewayAgentImportPreviewResponse, + GatewayAgentImportRequest, + GatewayAgentImportResponse, GatewayCommandsResponse, GatewayCreate, GatewayRead, @@ -39,6 +42,7 @@ import type { ListGatewaySessionsApiV1GatewaysSessionsGetParams, ListGatewaysApiV1GatewaysGetParams, OkResponse, + RuntimeUsageResponse, SendGatewaySessionMessageApiV1GatewaysSessionsSessionIdMessagePostParams, SyncGatewayTemplatesApiV1GatewaysGatewayIdTemplatesSyncPostParams, } from ".././model"; @@ -48,34 +52,34 @@ import { customFetch } from "../../mutator"; type SecondParameter unknown> = Parameters[1]; /** - * List gateways for the caller's organization. - * @summary List Gateways + * Return gateway connectivity and session status. + * @summary Gateways Status */ -export type listGatewaysApiV1GatewaysGetResponse200 = { - data: LimitOffsetPageTypeVarCustomizedGatewayRead; +export type gatewaysStatusApiV1GatewaysStatusGetResponse200 = { + data: GatewaysStatusResponse; status: 200; }; -export type listGatewaysApiV1GatewaysGetResponse422 = { +export type gatewaysStatusApiV1GatewaysStatusGetResponse422 = { data: HTTPValidationError; status: 422; }; -export type listGatewaysApiV1GatewaysGetResponseSuccess = - listGatewaysApiV1GatewaysGetResponse200 & { +export type gatewaysStatusApiV1GatewaysStatusGetResponseSuccess = + gatewaysStatusApiV1GatewaysStatusGetResponse200 & { headers: Headers; }; -export type listGatewaysApiV1GatewaysGetResponseError = - listGatewaysApiV1GatewaysGetResponse422 & { +export type gatewaysStatusApiV1GatewaysStatusGetResponseError = + gatewaysStatusApiV1GatewaysStatusGetResponse422 & { headers: Headers; }; -export type listGatewaysApiV1GatewaysGetResponse = - | listGatewaysApiV1GatewaysGetResponseSuccess - | listGatewaysApiV1GatewaysGetResponseError; +export type gatewaysStatusApiV1GatewaysStatusGetResponse = + | gatewaysStatusApiV1GatewaysStatusGetResponseSuccess + | gatewaysStatusApiV1GatewaysStatusGetResponseError; -export const getListGatewaysApiV1GatewaysGetUrl = ( - params?: ListGatewaysApiV1GatewaysGetParams, +export const getGatewaysStatusApiV1GatewaysStatusGetUrl = ( + params?: GatewaysStatusApiV1GatewaysStatusGetParams, ) => { const normalizedParams = new URLSearchParams(); @@ -88,16 +92,16 @@ export const getListGatewaysApiV1GatewaysGetUrl = ( const stringifiedParams = normalizedParams.toString(); return stringifiedParams.length > 0 - ? `/api/v1/gateways?${stringifiedParams}` - : `/api/v1/gateways`; + ? `/api/v1/gateways/status?${stringifiedParams}` + : `/api/v1/gateways/status`; }; -export const listGatewaysApiV1GatewaysGet = async ( - params?: ListGatewaysApiV1GatewaysGetParams, +export const gatewaysStatusApiV1GatewaysStatusGet = async ( + params?: GatewaysStatusApiV1GatewaysStatusGetParams, options?: RequestInit, -): Promise => { - return customFetch( - getListGatewaysApiV1GatewaysGetUrl(params), +): Promise => { + return customFetch( + getGatewaysStatusApiV1GatewaysStatusGetUrl(params), { ...options, method: "GET", @@ -105,21 +109,21 @@ export const listGatewaysApiV1GatewaysGet = async ( ); }; -export const getListGatewaysApiV1GatewaysGetQueryKey = ( - params?: ListGatewaysApiV1GatewaysGetParams, +export const getGatewaysStatusApiV1GatewaysStatusGetQueryKey = ( + params?: GatewaysStatusApiV1GatewaysStatusGetParams, ) => { - return [`/api/v1/gateways`, ...(params ? [params] : [])] as const; + return [`/api/v1/gateways/status`, ...(params ? [params] : [])] as const; }; -export const getListGatewaysApiV1GatewaysGetQueryOptions = < - TData = Awaited>, +export const getGatewaysStatusApiV1GatewaysStatusGetQueryOptions = < + TData = Awaited>, TError = HTTPValidationError, >( - params?: ListGatewaysApiV1GatewaysGetParams, + params?: GatewaysStatusApiV1GatewaysStatusGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -129,342 +133,46 @@ export const getListGatewaysApiV1GatewaysGetQueryOptions = < ) => { const { query: queryOptions, request: requestOptions } = options ?? {}; - const queryKey = - queryOptions?.queryKey ?? getListGatewaysApiV1GatewaysGetQueryKey(params); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - listGatewaysApiV1GatewaysGet(params, { signal, ...requestOptions }); - - return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type ListGatewaysApiV1GatewaysGetQueryResult = NonNullable< - Awaited> ->; -export type ListGatewaysApiV1GatewaysGetQueryError = HTTPValidationError; - -export function useListGatewaysApiV1GatewaysGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - params: undefined | ListGatewaysApiV1GatewaysGetParams, - options: { - query: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited>, - TError, - Awaited> - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useListGatewaysApiV1GatewaysGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - params?: ListGatewaysApiV1GatewaysGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited>, - TError, - Awaited> - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useListGatewaysApiV1GatewaysGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - params?: ListGatewaysApiV1GatewaysGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary List Gateways - */ - -export function useListGatewaysApiV1GatewaysGet< - TData = Awaited>, - TError = HTTPValidationError, ->( - params?: ListGatewaysApiV1GatewaysGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = getListGatewaysApiV1GatewaysGetQueryOptions( - params, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Create a gateway and provision or refresh its main agent. - * @summary Create Gateway - */ -export type createGatewayApiV1GatewaysPostResponse200 = { - data: GatewayRead; - status: 200; -}; - -export type createGatewayApiV1GatewaysPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type createGatewayApiV1GatewaysPostResponseSuccess = - createGatewayApiV1GatewaysPostResponse200 & { - headers: Headers; - }; -export type createGatewayApiV1GatewaysPostResponseError = - createGatewayApiV1GatewaysPostResponse422 & { - headers: Headers; - }; - -export type createGatewayApiV1GatewaysPostResponse = - | createGatewayApiV1GatewaysPostResponseSuccess - | createGatewayApiV1GatewaysPostResponseError; - -export const getCreateGatewayApiV1GatewaysPostUrl = () => { - return `/api/v1/gateways`; -}; - -export const createGatewayApiV1GatewaysPost = async ( - gatewayCreate: GatewayCreate, - options?: RequestInit, -): Promise => { - return customFetch( - getCreateGatewayApiV1GatewaysPostUrl(), - { - ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(gatewayCreate), - }, - ); -}; - -export const getCreateGatewayApiV1GatewaysPostMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { data: GatewayCreate }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { data: GatewayCreate }, - TContext -> => { - const mutationKey = ["createGatewayApiV1GatewaysPost"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { data: GatewayCreate } - > = (props) => { - const { data } = props ?? {}; - - return createGatewayApiV1GatewaysPost(data, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type CreateGatewayApiV1GatewaysPostMutationResult = NonNullable< - Awaited> ->; -export type CreateGatewayApiV1GatewaysPostMutationBody = GatewayCreate; -export type CreateGatewayApiV1GatewaysPostMutationError = HTTPValidationError; - -/** - * @summary Create Gateway - */ -export const useCreateGatewayApiV1GatewaysPost = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { data: GatewayCreate }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { data: GatewayCreate }, - TContext -> => { - return useMutation( - getCreateGatewayApiV1GatewaysPostMutationOptions(options), - queryClient, - ); -}; -/** - * Return supported gateway protocol methods and events. - * @summary Gateway Commands - */ -export type gatewayCommandsApiV1GatewaysCommandsGetResponse200 = { - data: GatewayCommandsResponse; - status: 200; -}; - -export type gatewayCommandsApiV1GatewaysCommandsGetResponseSuccess = - gatewayCommandsApiV1GatewaysCommandsGetResponse200 & { - headers: Headers; - }; -export type gatewayCommandsApiV1GatewaysCommandsGetResponse = - gatewayCommandsApiV1GatewaysCommandsGetResponseSuccess; - -export const getGatewayCommandsApiV1GatewaysCommandsGetUrl = () => { - return `/api/v1/gateways/commands`; -}; - -export const gatewayCommandsApiV1GatewaysCommandsGet = async ( - options?: RequestInit, -): Promise => { - return customFetch( - getGatewayCommandsApiV1GatewaysCommandsGetUrl(), - { - ...options, - method: "GET", - }, - ); -}; - -export const getGatewayCommandsApiV1GatewaysCommandsGetQueryKey = () => { - return [`/api/v1/gateways/commands`] as const; -}; - -export const getGatewayCommandsApiV1GatewaysCommandsGetQueryOptions = < - TData = Awaited>, - TError = unknown, ->(options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; -}) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - const queryKey = queryOptions?.queryKey ?? - getGatewayCommandsApiV1GatewaysCommandsGetQueryKey(); + getGatewaysStatusApiV1GatewaysStatusGetQueryKey(params); const queryFn: QueryFunction< - Awaited> + Awaited> > = ({ signal }) => - gatewayCommandsApiV1GatewaysCommandsGet({ signal, ...requestOptions }); + gatewaysStatusApiV1GatewaysStatusGet(params, { signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, + Awaited>, TError, TData > & { queryKey: DataTag }; }; -export type GatewayCommandsApiV1GatewaysCommandsGetQueryResult = NonNullable< - Awaited> +export type GatewaysStatusApiV1GatewaysStatusGetQueryResult = NonNullable< + Awaited> >; -export type GatewayCommandsApiV1GatewaysCommandsGetQueryError = unknown; +export type GatewaysStatusApiV1GatewaysStatusGetQueryError = + HTTPValidationError; -export function useGatewayCommandsApiV1GatewaysCommandsGet< - TData = Awaited>, - TError = unknown, +export function useGatewaysStatusApiV1GatewaysStatusGet< + TData = Awaited>, + TError = HTTPValidationError, >( + params: undefined | GatewaysStatusApiV1GatewaysStatusGetParams, options: { query: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > > & Pick< DefinedInitialDataOptions< - Awaited>, + Awaited>, TError, - Awaited> + Awaited> >, "initialData" >; @@ -474,23 +182,24 @@ export function useGatewayCommandsApiV1GatewaysCommandsGet< ): DefinedUseQueryResult & { queryKey: DataTag; }; -export function useGatewayCommandsApiV1GatewaysCommandsGet< - TData = Awaited>, - TError = unknown, +export function useGatewaysStatusApiV1GatewaysStatusGet< + TData = Awaited>, + TError = HTTPValidationError, >( + params?: GatewaysStatusApiV1GatewaysStatusGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > > & Pick< UndefinedInitialDataOptions< - Awaited>, + Awaited>, TError, - Awaited> + Awaited> >, "initialData" >; @@ -500,14 +209,15 @@ export function useGatewayCommandsApiV1GatewaysCommandsGet< ): UseQueryResult & { queryKey: DataTag; }; -export function useGatewayCommandsApiV1GatewaysCommandsGet< - TData = Awaited>, - TError = unknown, +export function useGatewaysStatusApiV1GatewaysStatusGet< + TData = Awaited>, + TError = HTTPValidationError, >( + params?: GatewaysStatusApiV1GatewaysStatusGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -519,17 +229,18 @@ export function useGatewayCommandsApiV1GatewaysCommandsGet< queryKey: DataTag; }; /** - * @summary Gateway Commands + * @summary Gateways Status */ -export function useGatewayCommandsApiV1GatewaysCommandsGet< - TData = Awaited>, - TError = unknown, +export function useGatewaysStatusApiV1GatewaysStatusGet< + TData = Awaited>, + TError = HTTPValidationError, >( + params?: GatewaysStatusApiV1GatewaysStatusGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -540,8 +251,10 @@ export function useGatewayCommandsApiV1GatewaysCommandsGet< ): UseQueryResult & { queryKey: DataTag; } { - const queryOptions = - getGatewayCommandsApiV1GatewaysCommandsGetQueryOptions(options); + const queryOptions = getGatewaysStatusApiV1GatewaysStatusGetQueryOptions( + params, + options, + ); const query = useQuery(queryOptions, queryClient) as UseQueryResult< TData, @@ -1574,34 +1287,209 @@ export const useSendGatewaySessionMessageApiV1GatewaysSessionsSessionIdMessagePo ); }; /** - * Return gateway connectivity and session status. - * @summary Gateways Status + * Return supported gateway protocol methods and events. + * @summary Gateway Commands */ -export type gatewaysStatusApiV1GatewaysStatusGetResponse200 = { - data: GatewaysStatusResponse; +export type gatewayCommandsApiV1GatewaysCommandsGetResponse200 = { + data: GatewayCommandsResponse; status: 200; }; -export type gatewaysStatusApiV1GatewaysStatusGetResponse422 = { +export type gatewayCommandsApiV1GatewaysCommandsGetResponseSuccess = + gatewayCommandsApiV1GatewaysCommandsGetResponse200 & { + headers: Headers; + }; +export type gatewayCommandsApiV1GatewaysCommandsGetResponse = + gatewayCommandsApiV1GatewaysCommandsGetResponseSuccess; + +export const getGatewayCommandsApiV1GatewaysCommandsGetUrl = () => { + return `/api/v1/gateways/commands`; +}; + +export const gatewayCommandsApiV1GatewaysCommandsGet = async ( + options?: RequestInit, +): Promise => { + return customFetch( + getGatewayCommandsApiV1GatewaysCommandsGetUrl(), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGatewayCommandsApiV1GatewaysCommandsGetQueryKey = () => { + return [`/api/v1/gateways/commands`] as const; +}; + +export const getGatewayCommandsApiV1GatewaysCommandsGetQueryOptions = < + TData = Awaited>, + TError = unknown, +>(options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; +}) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGatewayCommandsApiV1GatewaysCommandsGetQueryKey(); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + gatewayCommandsApiV1GatewaysCommandsGet({ signal, ...requestOptions }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type GatewayCommandsApiV1GatewaysCommandsGetQueryResult = NonNullable< + Awaited> +>; +export type GatewayCommandsApiV1GatewaysCommandsGetQueryError = unknown; + +export function useGatewayCommandsApiV1GatewaysCommandsGet< + TData = Awaited>, + TError = unknown, +>( + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGatewayCommandsApiV1GatewaysCommandsGet< + TData = Awaited>, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited>, + TError, + Awaited> + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGatewayCommandsApiV1GatewaysCommandsGet< + TData = Awaited>, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Gateway Commands + */ + +export function useGatewayCommandsApiV1GatewaysCommandsGet< + TData = Awaited>, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGatewayCommandsApiV1GatewaysCommandsGetQueryOptions(options); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * List gateways for the caller's organization. + * @summary List Gateways + */ +export type listGatewaysApiV1GatewaysGetResponse200 = { + data: LimitOffsetPageTypeVarCustomizedGatewayRead; + status: 200; +}; + +export type listGatewaysApiV1GatewaysGetResponse422 = { data: HTTPValidationError; status: 422; }; -export type gatewaysStatusApiV1GatewaysStatusGetResponseSuccess = - gatewaysStatusApiV1GatewaysStatusGetResponse200 & { +export type listGatewaysApiV1GatewaysGetResponseSuccess = + listGatewaysApiV1GatewaysGetResponse200 & { headers: Headers; }; -export type gatewaysStatusApiV1GatewaysStatusGetResponseError = - gatewaysStatusApiV1GatewaysStatusGetResponse422 & { +export type listGatewaysApiV1GatewaysGetResponseError = + listGatewaysApiV1GatewaysGetResponse422 & { headers: Headers; }; -export type gatewaysStatusApiV1GatewaysStatusGetResponse = - | gatewaysStatusApiV1GatewaysStatusGetResponseSuccess - | gatewaysStatusApiV1GatewaysStatusGetResponseError; +export type listGatewaysApiV1GatewaysGetResponse = + | listGatewaysApiV1GatewaysGetResponseSuccess + | listGatewaysApiV1GatewaysGetResponseError; -export const getGatewaysStatusApiV1GatewaysStatusGetUrl = ( - params?: GatewaysStatusApiV1GatewaysStatusGetParams, +export const getListGatewaysApiV1GatewaysGetUrl = ( + params?: ListGatewaysApiV1GatewaysGetParams, ) => { const normalizedParams = new URLSearchParams(); @@ -1614,16 +1502,16 @@ export const getGatewaysStatusApiV1GatewaysStatusGetUrl = ( const stringifiedParams = normalizedParams.toString(); return stringifiedParams.length > 0 - ? `/api/v1/gateways/status?${stringifiedParams}` - : `/api/v1/gateways/status`; + ? `/api/v1/gateways?${stringifiedParams}` + : `/api/v1/gateways`; }; -export const gatewaysStatusApiV1GatewaysStatusGet = async ( - params?: GatewaysStatusApiV1GatewaysStatusGetParams, +export const listGatewaysApiV1GatewaysGet = async ( + params?: ListGatewaysApiV1GatewaysGetParams, options?: RequestInit, -): Promise => { - return customFetch( - getGatewaysStatusApiV1GatewaysStatusGetUrl(params), +): Promise => { + return customFetch( + getListGatewaysApiV1GatewaysGetUrl(params), { ...options, method: "GET", @@ -1631,21 +1519,21 @@ export const gatewaysStatusApiV1GatewaysStatusGet = async ( ); }; -export const getGatewaysStatusApiV1GatewaysStatusGetQueryKey = ( - params?: GatewaysStatusApiV1GatewaysStatusGetParams, +export const getListGatewaysApiV1GatewaysGetQueryKey = ( + params?: ListGatewaysApiV1GatewaysGetParams, ) => { - return [`/api/v1/gateways/status`, ...(params ? [params] : [])] as const; + return [`/api/v1/gateways`, ...(params ? [params] : [])] as const; }; -export const getGatewaysStatusApiV1GatewaysStatusGetQueryOptions = < - TData = Awaited>, +export const getListGatewaysApiV1GatewaysGetQueryOptions = < + TData = Awaited>, TError = HTTPValidationError, >( - params?: GatewaysStatusApiV1GatewaysStatusGetParams, + params?: ListGatewaysApiV1GatewaysGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -1656,45 +1544,43 @@ export const getGatewaysStatusApiV1GatewaysStatusGetQueryOptions = < const { query: queryOptions, request: requestOptions } = options ?? {}; const queryKey = - queryOptions?.queryKey ?? - getGatewaysStatusApiV1GatewaysStatusGetQueryKey(params); + queryOptions?.queryKey ?? getListGatewaysApiV1GatewaysGetQueryKey(params); const queryFn: QueryFunction< - Awaited> + Awaited> > = ({ signal }) => - gatewaysStatusApiV1GatewaysStatusGet(params, { signal, ...requestOptions }); + listGatewaysApiV1GatewaysGet(params, { signal, ...requestOptions }); return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, + Awaited>, TError, TData > & { queryKey: DataTag }; }; -export type GatewaysStatusApiV1GatewaysStatusGetQueryResult = NonNullable< - Awaited> +export type ListGatewaysApiV1GatewaysGetQueryResult = NonNullable< + Awaited> >; -export type GatewaysStatusApiV1GatewaysStatusGetQueryError = - HTTPValidationError; +export type ListGatewaysApiV1GatewaysGetQueryError = HTTPValidationError; -export function useGatewaysStatusApiV1GatewaysStatusGet< - TData = Awaited>, +export function useListGatewaysApiV1GatewaysGet< + TData = Awaited>, TError = HTTPValidationError, >( - params: undefined | GatewaysStatusApiV1GatewaysStatusGetParams, + params: undefined | ListGatewaysApiV1GatewaysGetParams, options: { query: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > > & Pick< DefinedInitialDataOptions< - Awaited>, + Awaited>, TError, - Awaited> + Awaited> >, "initialData" >; @@ -1704,24 +1590,24 @@ export function useGatewaysStatusApiV1GatewaysStatusGet< ): DefinedUseQueryResult & { queryKey: DataTag; }; -export function useGatewaysStatusApiV1GatewaysStatusGet< - TData = Awaited>, +export function useListGatewaysApiV1GatewaysGet< + TData = Awaited>, TError = HTTPValidationError, >( - params?: GatewaysStatusApiV1GatewaysStatusGetParams, + params?: ListGatewaysApiV1GatewaysGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > > & Pick< UndefinedInitialDataOptions< - Awaited>, + Awaited>, TError, - Awaited> + Awaited> >, "initialData" >; @@ -1731,15 +1617,15 @@ export function useGatewaysStatusApiV1GatewaysStatusGet< ): UseQueryResult & { queryKey: DataTag; }; -export function useGatewaysStatusApiV1GatewaysStatusGet< - TData = Awaited>, +export function useListGatewaysApiV1GatewaysGet< + TData = Awaited>, TError = HTTPValidationError, >( - params?: GatewaysStatusApiV1GatewaysStatusGetParams, + params?: ListGatewaysApiV1GatewaysGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -1751,18 +1637,18 @@ export function useGatewaysStatusApiV1GatewaysStatusGet< queryKey: DataTag; }; /** - * @summary Gateways Status + * @summary List Gateways */ -export function useGatewaysStatusApiV1GatewaysStatusGet< - TData = Awaited>, +export function useListGatewaysApiV1GatewaysGet< + TData = Awaited>, TError = HTTPValidationError, >( - params?: GatewaysStatusApiV1GatewaysStatusGetParams, + params?: ListGatewaysApiV1GatewaysGetParams, options?: { query?: Partial< UseQueryOptions< - Awaited>, + Awaited>, TError, TData > @@ -1773,7 +1659,7 @@ export function useGatewaysStatusApiV1GatewaysStatusGet< ): UseQueryResult & { queryKey: DataTag; } { - const queryOptions = getGatewaysStatusApiV1GatewaysStatusGetQueryOptions( + const queryOptions = getListGatewaysApiV1GatewaysGetQueryOptions( params, options, ); @@ -1787,69 +1673,69 @@ export function useGatewaysStatusApiV1GatewaysStatusGet< } /** - * Delete a gateway in the caller's organization. - * @summary Delete Gateway + * Create a gateway and provision or refresh its main agent. + * @summary Create Gateway */ -export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponse200 = { - data: OkResponse; +export type createGatewayApiV1GatewaysPostResponse200 = { + data: GatewayRead; status: 200; }; -export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponse422 = { +export type createGatewayApiV1GatewaysPostResponse422 = { data: HTTPValidationError; status: 422; }; -export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponseSuccess = - deleteGatewayApiV1GatewaysGatewayIdDeleteResponse200 & { +export type createGatewayApiV1GatewaysPostResponseSuccess = + createGatewayApiV1GatewaysPostResponse200 & { headers: Headers; }; -export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponseError = - deleteGatewayApiV1GatewaysGatewayIdDeleteResponse422 & { +export type createGatewayApiV1GatewaysPostResponseError = + createGatewayApiV1GatewaysPostResponse422 & { headers: Headers; }; -export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponse = - | deleteGatewayApiV1GatewaysGatewayIdDeleteResponseSuccess - | deleteGatewayApiV1GatewaysGatewayIdDeleteResponseError; +export type createGatewayApiV1GatewaysPostResponse = + | createGatewayApiV1GatewaysPostResponseSuccess + | createGatewayApiV1GatewaysPostResponseError; -export const getDeleteGatewayApiV1GatewaysGatewayIdDeleteUrl = ( - gatewayId: string, -) => { - return `/api/v1/gateways/${gatewayId}`; +export const getCreateGatewayApiV1GatewaysPostUrl = () => { + return `/api/v1/gateways`; }; -export const deleteGatewayApiV1GatewaysGatewayIdDelete = async ( - gatewayId: string, +export const createGatewayApiV1GatewaysPost = async ( + gatewayCreate: GatewayCreate, options?: RequestInit, -): Promise => { - return customFetch( - getDeleteGatewayApiV1GatewaysGatewayIdDeleteUrl(gatewayId), +): Promise => { + return customFetch( + getCreateGatewayApiV1GatewaysPostUrl(), { ...options, - method: "DELETE", + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(gatewayCreate), }, ); }; -export const getDeleteGatewayApiV1GatewaysGatewayIdDeleteMutationOptions = < +export const getCreateGatewayApiV1GatewaysPostMutationOptions = < TError = HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< - Awaited>, + Awaited>, TError, - { gatewayId: string }, + { data: GatewayCreate }, TContext >; request?: SecondParameter; }): UseMutationOptions< - Awaited>, + Awaited>, TError, - { gatewayId: string }, + { data: GatewayCreate }, TContext > => { - const mutationKey = ["deleteGatewayApiV1GatewaysGatewayIdDelete"]; + const mutationKey = ["createGatewayApiV1GatewaysPost"]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && @@ -1859,50 +1745,48 @@ export const getDeleteGatewayApiV1GatewaysGatewayIdDeleteMutationOptions = < : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< - Awaited>, - { gatewayId: string } + Awaited>, + { data: GatewayCreate } > = (props) => { - const { gatewayId } = props ?? {}; + const { data } = props ?? {}; - return deleteGatewayApiV1GatewaysGatewayIdDelete(gatewayId, requestOptions); + return createGatewayApiV1GatewaysPost(data, requestOptions); }; return { mutationFn, ...mutationOptions }; }; -export type DeleteGatewayApiV1GatewaysGatewayIdDeleteMutationResult = - NonNullable< - Awaited> - >; - -export type DeleteGatewayApiV1GatewaysGatewayIdDeleteMutationError = - HTTPValidationError; +export type CreateGatewayApiV1GatewaysPostMutationResult = NonNullable< + Awaited> +>; +export type CreateGatewayApiV1GatewaysPostMutationBody = GatewayCreate; +export type CreateGatewayApiV1GatewaysPostMutationError = HTTPValidationError; /** - * @summary Delete Gateway + * @summary Create Gateway */ -export const useDeleteGatewayApiV1GatewaysGatewayIdDelete = < +export const useCreateGatewayApiV1GatewaysPost = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< - Awaited>, + Awaited>, TError, - { gatewayId: string }, + { data: GatewayCreate }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< - Awaited>, + Awaited>, TError, - { gatewayId: string }, + { data: GatewayCreate }, TContext > => { return useMutation( - getDeleteGatewayApiV1GatewaysGatewayIdDeleteMutationOptions(options), + getCreateGatewayApiV1GatewaysPostMutationOptions(options), queryClient, ); }; @@ -2242,6 +2126,126 @@ export const useUpdateGatewayApiV1GatewaysGatewayIdPatch = < queryClient, ); }; +/** + * Delete a gateway in the caller's organization. + * @summary Delete Gateway + */ +export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponseSuccess = + deleteGatewayApiV1GatewaysGatewayIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponseError = + deleteGatewayApiV1GatewaysGatewayIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteGatewayApiV1GatewaysGatewayIdDeleteResponse = + | deleteGatewayApiV1GatewaysGatewayIdDeleteResponseSuccess + | deleteGatewayApiV1GatewaysGatewayIdDeleteResponseError; + +export const getDeleteGatewayApiV1GatewaysGatewayIdDeleteUrl = ( + gatewayId: string, +) => { + return `/api/v1/gateways/${gatewayId}`; +}; + +export const deleteGatewayApiV1GatewaysGatewayIdDelete = async ( + gatewayId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteGatewayApiV1GatewaysGatewayIdDeleteUrl(gatewayId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteGatewayApiV1GatewaysGatewayIdDeleteMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { gatewayId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { gatewayId: string }, + TContext +> => { + const mutationKey = ["deleteGatewayApiV1GatewaysGatewayIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { gatewayId: string } + > = (props) => { + const { gatewayId } = props ?? {}; + + return deleteGatewayApiV1GatewaysGatewayIdDelete(gatewayId, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteGatewayApiV1GatewaysGatewayIdDeleteMutationResult = + NonNullable< + Awaited> + >; + +export type DeleteGatewayApiV1GatewaysGatewayIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Gateway + */ +export const useDeleteGatewayApiV1GatewaysGatewayIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { gatewayId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { gatewayId: string }, + TContext +> => { + return useMutation( + getDeleteGatewayApiV1GatewaysGatewayIdDeleteMutationOptions(options), + queryClient, + ); +}; /** * Sync templates for a gateway and optionally rotate runtime settings. * @summary Sync Gateway Templates @@ -2432,3 +2436,728 @@ export const useSyncGatewayTemplatesApiV1GatewaysGatewayIdTemplatesSyncPost = < queryClient, ); }; +/** + * Preview existing gateway runtime agents that can be imported. + * @summary Preview Import Gateway Agents + */ +export type previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponse200 = + { + data: GatewayAgentImportPreviewResponse; + status: 200; + }; + +export type previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponseSuccess = + previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponse200 & { + headers: Headers; + }; +export type previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponseError = + previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponse422 & { + headers: Headers; + }; + +export type previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponse = + + | previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponseSuccess + | previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetResponseError; + +export const getPreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetUrl = + (gatewayId: string) => { + return `/api/v1/gateways/${gatewayId}/agents/import-preview`; + }; + +export const previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet = + async ( + gatewayId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getPreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetUrl( + gatewayId, + ), + { + ...options, + method: "GET", + }, + ); + }; + +export const getPreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetQueryKey = + (gatewayId: string) => { + return [`/api/v1/gateways/${gatewayId}/agents/import-preview`] as const; + }; + +export const getPreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetQueryOptions = + < + TData = Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError = HTTPValidationError, + >( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getPreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetQueryKey( + gatewayId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + > + > = ({ signal }) => + previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet( + gatewayId, + { signal, ...requestOptions }, + ); + + return { + queryKey, + queryFn, + enabled: !!gatewayId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type PreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetQueryResult = + NonNullable< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + > + >; +export type PreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetQueryError = + HTTPValidationError; + +export function usePreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet< + TData = Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function usePreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet< + TData = Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function usePreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet< + TData = Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Preview Import Gateway Agents + */ + +export function usePreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet< + TData = Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof previewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getPreviewImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPreviewGetQueryOptions( + gatewayId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Import selected existing gateway runtime agents into Pipeline. + * @summary Import Gateway Agents + */ +export type importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponse200 = + { + data: GatewayAgentImportResponse; + status: 200; + }; + +export type importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponseSuccess = + importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponse200 & { + headers: Headers; + }; +export type importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponseError = + importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponse422 & { + headers: Headers; + }; + +export type importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponse = + | importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponseSuccess + | importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostResponseError; + +export const getImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostUrl = ( + gatewayId: string, +) => { + return `/api/v1/gateways/${gatewayId}/agents/import`; +}; + +export const importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost = async ( + gatewayId: string, + gatewayAgentImportRequest: GatewayAgentImportRequest, + options?: RequestInit, +): Promise => { + return customFetch( + getImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostUrl(gatewayId), + { + ...options, + method: "POST", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(gatewayAgentImportRequest), + }, + ); +}; + +export const getImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost + > + >, + TError, + { gatewayId: string; data: GatewayAgentImportRequest }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost + > + >, + TError, + { gatewayId: string; data: GatewayAgentImportRequest }, + TContext + > => { + const mutationKey = [ + "importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost + > + >, + { gatewayId: string; data: GatewayAgentImportRequest } + > = (props) => { + const { gatewayId, data } = props ?? {}; + + return importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost( + gatewayId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type ImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost + > + > + >; +export type ImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostMutationBody = + GatewayAgentImportRequest; +export type ImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostMutationError = + HTTPValidationError; + +/** + * @summary Import Gateway Agents + */ +export const useImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof importGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPost + > + >, + TError, + { gatewayId: string; data: GatewayAgentImportRequest }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { gatewayId: string; data: GatewayAgentImportRequest }, + TContext +> => { + return useMutation( + getImportGatewayAgentsApiV1GatewaysGatewayIdAgentsImportPostMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Return model usage, token counts, estimated spend, burn rate, and time-remaining predictions for the specified gateway. Visible to all organisation members. + * @summary Gateway runtime usage + */ +export type getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponse200 = + { + data: RuntimeUsageResponse; + status: 200; + }; + +export type getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponseSuccess = + getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponse200 & { + headers: Headers; + }; +export type getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponseError = + getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponse422 & { + headers: Headers; + }; + +export type getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponse = + + | getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponseSuccess + | getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetResponseError; + +export const getGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetUrl = + (gatewayId: string) => { + return `/api/v1/gateways/${gatewayId}/runtime-usage`; + }; + +export const getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet = + async ( + gatewayId: string, + options?: RequestInit, + ): Promise => { + return customFetch( + getGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetUrl( + gatewayId, + ), + { + ...options, + method: "GET", + }, + ); + }; + +export const getGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetQueryKey = + (gatewayId: string) => { + return [`/api/v1/gateways/${gatewayId}/runtime-usage`] as const; + }; + +export const getGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetQueryOptions = + < + TData = Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError = HTTPValidationError, + >( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetQueryKey( + gatewayId, + ); + + const queryFn: QueryFunction< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + > + > = ({ signal }) => + getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet(gatewayId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!gatewayId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type GetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetQueryResult = + NonNullable< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + > + >; +export type GetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetQueryError = + HTTPValidationError; + +export function useGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet< + TData = Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet< + TData = Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet< + TData = Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Gateway runtime usage + */ + +export function useGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet< + TData = Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError = HTTPValidationError, +>( + gatewayId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGetQueryOptions( + gatewayId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} diff --git a/frontend/src/api/generated/model/activityEventRead.ts b/frontend/src/api/generated/model/activityEventRead.ts index 8816315..2caee9b 100644 --- a/frontend/src/api/generated/model/activityEventRead.ts +++ b/frontend/src/api/generated/model/activityEventRead.ts @@ -10,13 +10,13 @@ import type { ActivityEventReadRouteParams } from "./activityEventReadRouteParam * Serialized activity event payload returned by activity endpoints. */ export interface ActivityEventRead { - agent_id: string | null; - board_id?: string | null; - created_at: string; - event_type: string; id: string; + event_type: string; message: string | null; + agent_id: string | null; + task_id: string | null; + board_id?: string | null; route_name?: string | null; route_params?: ActivityEventReadRouteParams; - task_id: string | null; + created_at: string; } diff --git a/frontend/src/api/generated/model/activityTaskCommentFeedItemRead.ts b/frontend/src/api/generated/model/activityTaskCommentFeedItemRead.ts index df534a5..9f46a58 100644 --- a/frontend/src/api/generated/model/activityTaskCommentFeedItemRead.ts +++ b/frontend/src/api/generated/model/activityTaskCommentFeedItemRead.ts @@ -9,14 +9,14 @@ * Denormalized task-comment feed item enriched with task and board fields. */ export interface ActivityTaskCommentFeedItemRead { + id: string; + created_at: string; + message: string | null; agent_id: string | null; agent_name?: string | null; agent_role?: string | null; - board_id: string; - board_name: string; - created_at: string; - id: string; - message: string | null; task_id: string; task_title: string; + board_id: string; + board_name: string; } diff --git a/frontend/src/api/generated/model/agentCreate.ts b/frontend/src/api/generated/model/agentCreate.ts index f714f1f..3f30056 100644 --- a/frontend/src/api/generated/model/agentCreate.ts +++ b/frontend/src/api/generated/model/agentCreate.ts @@ -13,19 +13,19 @@ import type { AgentCreateIdentityProfile } from "./agentCreateIdentityProfile"; export interface AgentCreate { /** Board id that scopes this agent. Omit only when policy allows global agents. */ board_id?: string | null; + /** + * Human-readable agent display name. + * @minLength 1 + */ + name: string; + /** Current lifecycle state used by coordinator logic. */ + status?: string; /** Runtime heartbeat behavior overrides for this agent. */ heartbeat_config?: AgentCreateHeartbeatConfig; /** Optional profile hints used by routing and policy checks. */ identity_profile?: AgentCreateIdentityProfile; /** Template that helps define initial intent and behavior. */ identity_template?: string | null; - /** - * Human-readable agent display name. - * @minLength 1 - */ - name: string; /** Template representing deeper agent instructions. */ soul_template?: string | null; - /** Current lifecycle state used by coordinator logic. */ - status?: string; } diff --git a/frontend/src/api/generated/model/agentHealthStatusResponse.ts b/frontend/src/api/generated/model/agentHealthStatusResponse.ts index 20e8d16..067846b 100644 --- a/frontend/src/api/generated/model/agentHealthStatusResponse.ts +++ b/frontend/src/api/generated/model/agentHealthStatusResponse.ts @@ -9,16 +9,16 @@ * Agent-authenticated liveness payload for agent route probes. */ export interface AgentHealthStatusResponse { + /** Indicates whether the probe check succeeded. */ + ok: boolean; /** Authenticated agent id derived from `X-Agent-Token`. */ agent_id: string; /** Board scope for the authenticated agent, when applicable. */ board_id?: string | null; /** Gateway owning the authenticated agent. */ gateway_id: string; - /** Whether the authenticated agent is the board lead. */ - is_board_lead: boolean; - /** Indicates whether the probe check succeeded. */ - ok: boolean; /** Current persisted lifecycle status for the authenticated agent. */ status: string; + /** Whether the authenticated agent is the board lead. */ + is_board_lead: boolean; } diff --git a/frontend/src/api/generated/model/agentHeartbeatCreate.ts b/frontend/src/api/generated/model/agentHeartbeatCreate.ts index 7e83d62..9620c26 100644 --- a/frontend/src/api/generated/model/agentHeartbeatCreate.ts +++ b/frontend/src/api/generated/model/agentHeartbeatCreate.ts @@ -9,13 +9,13 @@ * Heartbeat payload used to create an agent lazily. */ export interface AgentHeartbeatCreate { - /** Optional board context for bootstrap. */ - board_id?: string | null; + /** Agent health status string. */ + status?: string | null; /** * Display name assigned during first heartbeat bootstrap. * @minLength 1 */ name: string; - /** Agent health status string. */ - status?: string | null; + /** Optional board context for bootstrap. */ + board_id?: string | null; } diff --git a/frontend/src/api/generated/model/agentRead.ts b/frontend/src/api/generated/model/agentRead.ts index 99658f7..4b9fa5f 100644 --- a/frontend/src/api/generated/model/agentRead.ts +++ b/frontend/src/api/generated/model/agentRead.ts @@ -13,35 +13,35 @@ import type { AgentReadIdentityProfile } from "./agentReadIdentityProfile"; export interface AgentRead { /** Board id that scopes this agent. Omit only when policy allows global agents. */ board_id?: string | null; - /** Creation timestamp. */ - created_at: string; - /** Gateway UUID that manages this agent. */ - gateway_id: string; - /** Runtime heartbeat behavior overrides for this agent. */ - heartbeat_config?: AgentReadHeartbeatConfig; - /** Agent UUID. */ - id: string; - /** Optional profile hints used by routing and policy checks. */ - identity_profile?: AgentReadIdentityProfile; - /** Template that helps define initial intent and behavior. */ - identity_template?: string | null; - /** Whether this agent is the board lead. */ - is_board_lead?: boolean; - /** Whether this agent is the primary gateway agent. */ - is_gateway_main?: boolean; - /** Last heartbeat timestamp. */ - last_seen_at?: string | null; /** * Human-readable agent display name. * @minLength 1 */ name: string; - /** Optional openclaw session token. */ - openclaw_session_id?: string | null; - /** Template representing deeper agent instructions. */ - soul_template?: string | null; /** Current lifecycle state used by coordinator logic. */ status?: string; + /** Runtime heartbeat behavior overrides for this agent. */ + heartbeat_config?: AgentReadHeartbeatConfig; + /** Optional profile hints used by routing and policy checks. */ + identity_profile?: AgentReadIdentityProfile; + /** Template that helps define initial intent and behavior. */ + identity_template?: string | null; + /** Template representing deeper agent instructions. */ + soul_template?: string | null; + /** Agent UUID. */ + id: string; + /** Gateway UUID that manages this agent. */ + gateway_id: string; + /** Whether this agent is the board lead. */ + is_board_lead?: boolean; + /** Whether this agent is the primary gateway agent. */ + is_gateway_main?: boolean; + /** Optional openclaw session token. */ + openclaw_session_id?: string | null; + /** Last heartbeat timestamp. */ + last_seen_at?: string | null; + /** Creation timestamp. */ + created_at: string; /** Last update timestamp. */ updated_at: string; } diff --git a/frontend/src/api/generated/model/agentUpdate.ts b/frontend/src/api/generated/model/agentUpdate.ts index 1ec302a..56b0468 100644 --- a/frontend/src/api/generated/model/agentUpdate.ts +++ b/frontend/src/api/generated/model/agentUpdate.ts @@ -13,18 +13,18 @@ import type { AgentUpdateIdentityProfile } from "./agentUpdateIdentityProfile"; export interface AgentUpdate { /** Optional new board assignment. */ board_id?: string | null; + /** Whether this agent is treated as the board gateway main. */ + is_gateway_main?: boolean | null; + /** Optional replacement display name. */ + name?: string | null; + /** Optional replacement lifecycle status. */ + status?: string | null; /** Optional heartbeat policy override. */ heartbeat_config?: AgentUpdateHeartbeatConfig; /** Optional identity profile update values. */ identity_profile?: AgentUpdateIdentityProfile; /** Optional replacement identity template. */ identity_template?: string | null; - /** Whether this agent is treated as the board gateway main. */ - is_gateway_main?: boolean | null; - /** Optional replacement display name. */ - name?: string | null; /** Optional replacement soul template. */ soul_template?: string | null; - /** Optional replacement lifecycle status. */ - status?: string | null; } diff --git a/frontend/src/api/generated/model/approvalCreate.ts b/frontend/src/api/generated/model/approvalCreate.ts index 320c7a0..ad2159f 100644 --- a/frontend/src/api/generated/model/approvalCreate.ts +++ b/frontend/src/api/generated/model/approvalCreate.ts @@ -13,16 +13,16 @@ import type { ApprovalCreateStatus } from "./approvalCreateStatus"; */ export interface ApprovalCreate { action_type: string; - agent_id?: string | null; + task_id?: string | null; + task_ids?: string[]; + payload?: ApprovalCreatePayload; /** * @minimum 0 * @maximum 100 */ confidence: number; - lead_reasoning?: string | null; - payload?: ApprovalCreatePayload; rubric_scores?: ApprovalCreateRubricScores; status?: ApprovalCreateStatus; - task_id?: string | null; - task_ids?: string[]; + agent_id?: string | null; + lead_reasoning?: string | null; } diff --git a/frontend/src/api/generated/model/approvalRead.ts b/frontend/src/api/generated/model/approvalRead.ts index 9715885..48a9c34 100644 --- a/frontend/src/api/generated/model/approvalRead.ts +++ b/frontend/src/api/generated/model/approvalRead.ts @@ -13,20 +13,20 @@ import type { ApprovalReadStatus } from "./approvalReadStatus"; */ export interface ApprovalRead { action_type: string; - agent_id?: string | null; - board_id: string; + task_id?: string | null; + task_ids?: string[]; + payload?: ApprovalReadPayload; /** * @minimum 0 * @maximum 100 */ confidence: number; - created_at: string; - id: string; - payload?: ApprovalReadPayload; - resolved_at?: string | null; rubric_scores?: ApprovalReadRubricScores; status?: ApprovalReadStatus; - task_id?: string | null; - task_ids?: string[]; + id: string; + board_id: string; task_titles?: string[]; + agent_id?: string | null; + created_at: string; + resolved_at?: string | null; } diff --git a/frontend/src/api/generated/model/blockedTaskDetail.ts b/frontend/src/api/generated/model/blockedTaskDetail.ts index d9e7112..5ba2d93 100644 --- a/frontend/src/api/generated/model/blockedTaskDetail.ts +++ b/frontend/src/api/generated/model/blockedTaskDetail.ts @@ -9,6 +9,7 @@ * Error detail payload listing blocking dependency task identifiers. */ export interface BlockedTaskDetail { - blocked_by_task_ids?: string[]; message: string; + code?: string | null; + blocked_by_task_ids?: string[]; } diff --git a/frontend/src/api/generated/model/boardCreate.ts b/frontend/src/api/generated/model/boardCreate.ts index 915e26f..b518bd8 100644 --- a/frontend/src/api/generated/model/boardCreate.ts +++ b/frontend/src/api/generated/model/boardCreate.ts @@ -10,22 +10,22 @@ import type { BoardCreateSuccessMetrics } from "./boardCreateSuccessMetrics"; * Payload for creating a board. */ export interface BoardCreate { - block_status_changes_with_pending_approval?: boolean; - board_group_id?: string | null; - board_type?: string; - comment_required_for_review?: boolean; + name: string; + slug: string; description: string; gateway_id?: string | null; - goal_confirmed?: boolean; - goal_source?: string | null; - /** @minimum 0 */ - max_agents?: number; - name: string; + board_group_id?: string | null; + board_type?: string; objective?: string | null; - only_lead_can_change_status?: boolean; - require_approval_for_done?: boolean; - require_review_before_done?: boolean; - slug: string; success_metrics?: BoardCreateSuccessMetrics; target_date?: string | null; + goal_confirmed?: boolean; + goal_source?: string | null; + require_approval_for_done?: boolean; + require_review_before_done?: boolean; + comment_required_for_review?: boolean; + block_status_changes_with_pending_approval?: boolean; + only_lead_can_change_status?: boolean; + /** @minimum 0 */ + max_agents?: number; } diff --git a/frontend/src/api/generated/model/boardGroupCreate.ts b/frontend/src/api/generated/model/boardGroupCreate.ts index bd7da98..96ac5a3 100644 --- a/frontend/src/api/generated/model/boardGroupCreate.ts +++ b/frontend/src/api/generated/model/boardGroupCreate.ts @@ -9,7 +9,7 @@ * Payload for creating a board group. */ export interface BoardGroupCreate { - description?: string | null; name: string; slug: string; + description?: string | null; } diff --git a/frontend/src/api/generated/model/boardGroupHeartbeatApplyResult.ts b/frontend/src/api/generated/model/boardGroupHeartbeatApplyResult.ts index d5bb950..298eb90 100644 --- a/frontend/src/api/generated/model/boardGroupHeartbeatApplyResult.ts +++ b/frontend/src/api/generated/model/boardGroupHeartbeatApplyResult.ts @@ -11,7 +11,7 @@ import type { BoardGroupHeartbeatApplyResultRequested } from "./boardGroupHeartb */ export interface BoardGroupHeartbeatApplyResult { board_group_id: string; - failed_agent_ids: string[]; requested: BoardGroupHeartbeatApplyResultRequested; updated_agent_ids: string[]; + failed_agent_ids: string[]; } diff --git a/frontend/src/api/generated/model/boardGroupMemoryCreate.ts b/frontend/src/api/generated/model/boardGroupMemoryCreate.ts index 92bac01..547af52 100644 --- a/frontend/src/api/generated/model/boardGroupMemoryCreate.ts +++ b/frontend/src/api/generated/model/boardGroupMemoryCreate.ts @@ -11,6 +11,6 @@ export interface BoardGroupMemoryCreate { /** @minLength 1 */ content: string; - source?: string | null; tags?: string[] | null; + source?: string | null; } diff --git a/frontend/src/api/generated/model/boardGroupMemoryRead.ts b/frontend/src/api/generated/model/boardGroupMemoryRead.ts index 364d468..ba2d1a1 100644 --- a/frontend/src/api/generated/model/boardGroupMemoryRead.ts +++ b/frontend/src/api/generated/model/boardGroupMemoryRead.ts @@ -9,11 +9,11 @@ * Serialized board-group memory entry returned from read endpoints. */ export interface BoardGroupMemoryRead { + id: string; board_group_id: string; content: string; - created_at: string; - id: string; - is_chat?: boolean; - source?: string | null; tags?: string[] | null; + source?: string | null; + is_chat?: boolean; + created_at: string; } diff --git a/frontend/src/api/generated/model/boardGroupRead.ts b/frontend/src/api/generated/model/boardGroupRead.ts index 174c3cc..91e0a58 100644 --- a/frontend/src/api/generated/model/boardGroupRead.ts +++ b/frontend/src/api/generated/model/boardGroupRead.ts @@ -9,11 +9,11 @@ * Board-group payload returned from read endpoints. */ export interface BoardGroupRead { - created_at: string; + name: string; + slug: string; description?: string | null; id: string; - name: string; organization_id: string; - slug: string; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/boardGroupSnapshot.ts b/frontend/src/api/generated/model/boardGroupSnapshot.ts index 7f6143d..fc66810 100644 --- a/frontend/src/api/generated/model/boardGroupSnapshot.ts +++ b/frontend/src/api/generated/model/boardGroupSnapshot.ts @@ -11,6 +11,6 @@ import type { BoardGroupRead } from "./boardGroupRead"; * Top-level board-group snapshot response payload. */ export interface BoardGroupSnapshot { - boards?: BoardGroupBoardSnapshot[]; group?: BoardGroupRead | null; + boards?: BoardGroupBoardSnapshot[]; } diff --git a/frontend/src/api/generated/model/boardGroupTaskSummary.ts b/frontend/src/api/generated/model/boardGroupTaskSummary.ts index f71cb04..28b76f1 100644 --- a/frontend/src/api/generated/model/boardGroupTaskSummary.ts +++ b/frontend/src/api/generated/model/boardGroupTaskSummary.ts @@ -10,17 +10,17 @@ import type { TagRef } from "./tagRef"; * Task summary row used inside board-group snapshot responses. */ export interface BoardGroupTaskSummary { - assigned_agent_id?: string | null; - assignee?: string | null; + id: string; board_id: string; board_name: string; - created_at: string; - due_at?: string | null; - id: string; - in_progress_at?: string | null; - priority: string; - status: string; - tags?: TagRef[]; title: string; + status: string; + priority: string; + assigned_agent_id?: string | null; + assignee?: string | null; + due_at?: string | null; + in_progress_at?: string | null; + tags?: TagRef[]; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/boardGroupUpdate.ts b/frontend/src/api/generated/model/boardGroupUpdate.ts index b831890..b7a6e7a 100644 --- a/frontend/src/api/generated/model/boardGroupUpdate.ts +++ b/frontend/src/api/generated/model/boardGroupUpdate.ts @@ -9,7 +9,7 @@ * Payload for partial board-group updates. */ export interface BoardGroupUpdate { - description?: string | null; name?: string | null; slug?: string | null; + description?: string | null; } diff --git a/frontend/src/api/generated/model/boardMemoryCreate.ts b/frontend/src/api/generated/model/boardMemoryCreate.ts index f2b1afb..30900a0 100644 --- a/frontend/src/api/generated/model/boardMemoryCreate.ts +++ b/frontend/src/api/generated/model/boardMemoryCreate.ts @@ -11,6 +11,6 @@ export interface BoardMemoryCreate { /** @minLength 1 */ content: string; - source?: string | null; tags?: string[] | null; + source?: string | null; } diff --git a/frontend/src/api/generated/model/boardMemoryRead.ts b/frontend/src/api/generated/model/boardMemoryRead.ts index 805c493..f8b1adc 100644 --- a/frontend/src/api/generated/model/boardMemoryRead.ts +++ b/frontend/src/api/generated/model/boardMemoryRead.ts @@ -9,11 +9,11 @@ * Serialized board memory entry returned from read endpoints. */ export interface BoardMemoryRead { + id: string; board_id: string; content: string; - created_at: string; - id: string; - is_chat?: boolean; - source?: string | null; tags?: string[] | null; + source?: string | null; + is_chat?: boolean; + created_at: string; } diff --git a/frontend/src/api/generated/model/boardOnboardingAgentComplete.ts b/frontend/src/api/generated/model/boardOnboardingAgentComplete.ts index a2be93e..351f258 100644 --- a/frontend/src/api/generated/model/boardOnboardingAgentComplete.ts +++ b/frontend/src/api/generated/model/boardOnboardingAgentComplete.ts @@ -13,10 +13,10 @@ import type { BoardOnboardingUserProfile } from "./boardOnboardingUserProfile"; */ export interface BoardOnboardingAgentComplete { board_type: string; - lead_agent?: BoardOnboardingLeadAgentDraft | null; objective?: string | null; - status: "complete"; success_metrics?: BoardOnboardingAgentCompleteSuccessMetrics; target_date?: string | null; + status: "complete"; user_profile?: BoardOnboardingUserProfile | null; + lead_agent?: BoardOnboardingLeadAgentDraft | null; } diff --git a/frontend/src/api/generated/model/boardOnboardingAgentQuestion.ts b/frontend/src/api/generated/model/boardOnboardingAgentQuestion.ts index 2ca429e..cef146c 100644 --- a/frontend/src/api/generated/model/boardOnboardingAgentQuestion.ts +++ b/frontend/src/api/generated/model/boardOnboardingAgentQuestion.ts @@ -10,8 +10,8 @@ import type { BoardOnboardingQuestionOption } from "./boardOnboardingQuestionOpt * Question payload emitted by the onboarding assistant. */ export interface BoardOnboardingAgentQuestion { - /** @minItems 1 */ - options: BoardOnboardingQuestionOption[]; /** @minLength 1 */ question: string; + /** @minItems 1 */ + options: BoardOnboardingQuestionOption[]; } diff --git a/frontend/src/api/generated/model/boardOnboardingLeadAgentDraft.ts b/frontend/src/api/generated/model/boardOnboardingLeadAgentDraft.ts index a1bf356..5778dcd 100644 --- a/frontend/src/api/generated/model/boardOnboardingLeadAgentDraft.ts +++ b/frontend/src/api/generated/model/boardOnboardingLeadAgentDraft.ts @@ -10,11 +10,11 @@ import type { BoardOnboardingLeadAgentDraftIdentityProfile } from "./boardOnboar * Editable lead-agent draft configuration. */ export interface BoardOnboardingLeadAgentDraft { - autonomy_level?: "ask_first" | "balanced" | "autonomous" | null; - custom_instructions?: string | null; - identity_profile?: BoardOnboardingLeadAgentDraftIdentityProfile; name?: string | null; + identity_profile?: BoardOnboardingLeadAgentDraftIdentityProfile; + autonomy_level?: "ask_first" | "balanced" | "autonomous" | null; + verbosity?: "concise" | "balanced" | "detailed" | null; output_format?: "bullets" | "mixed" | "narrative" | null; update_cadence?: "asap" | "hourly" | "daily" | "weekly" | null; - verbosity?: "concise" | "balanced" | "detailed" | null; + custom_instructions?: string | null; } diff --git a/frontend/src/api/generated/model/boardOnboardingRead.ts b/frontend/src/api/generated/model/boardOnboardingRead.ts index e93ae06..6113508 100644 --- a/frontend/src/api/generated/model/boardOnboardingRead.ts +++ b/frontend/src/api/generated/model/boardOnboardingRead.ts @@ -11,12 +11,12 @@ import type { BoardOnboardingReadMessages } from "./boardOnboardingReadMessages" * Stored onboarding session state returned by API endpoints. */ export interface BoardOnboardingRead { - board_id: string; - created_at: string; - draft_goal?: BoardOnboardingAgentComplete | null; id: string; - messages?: BoardOnboardingReadMessages; + board_id: string; session_key: string; status: string; + messages?: BoardOnboardingReadMessages; + draft_goal?: BoardOnboardingAgentComplete | null; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/boardOnboardingUserProfile.ts b/frontend/src/api/generated/model/boardOnboardingUserProfile.ts index 8c933ac..10d2599 100644 --- a/frontend/src/api/generated/model/boardOnboardingUserProfile.ts +++ b/frontend/src/api/generated/model/boardOnboardingUserProfile.ts @@ -9,9 +9,9 @@ * User-profile preferences gathered during onboarding. */ export interface BoardOnboardingUserProfile { - context?: string | null; - notes?: string | null; preferred_name?: string | null; pronouns?: string | null; timezone?: string | null; + notes?: string | null; + context?: string | null; } diff --git a/frontend/src/api/generated/model/boardRead.ts b/frontend/src/api/generated/model/boardRead.ts index 20dc585..15f49b9 100644 --- a/frontend/src/api/generated/model/boardRead.ts +++ b/frontend/src/api/generated/model/boardRead.ts @@ -10,26 +10,26 @@ import type { BoardReadSuccessMetrics } from "./boardReadSuccessMetrics"; * Board payload returned from read endpoints. */ export interface BoardRead { - block_status_changes_with_pending_approval?: boolean; - board_group_id?: string | null; - board_type?: string; - comment_required_for_review?: boolean; - created_at: string; + name: string; + slug: string; description: string; gateway_id?: string | null; - goal_confirmed?: boolean; - goal_source?: string | null; - id: string; - /** @minimum 0 */ - max_agents?: number; - name: string; + board_group_id?: string | null; + board_type?: string; objective?: string | null; - only_lead_can_change_status?: boolean; - organization_id: string; - require_approval_for_done?: boolean; - require_review_before_done?: boolean; - slug: string; success_metrics?: BoardReadSuccessMetrics; target_date?: string | null; + goal_confirmed?: boolean; + goal_source?: string | null; + require_approval_for_done?: boolean; + require_review_before_done?: boolean; + comment_required_for_review?: boolean; + block_status_changes_with_pending_approval?: boolean; + only_lead_can_change_status?: boolean; + /** @minimum 0 */ + max_agents?: number; + id: string; + organization_id: string; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/boardRepositoryLinkCreate.ts b/frontend/src/api/generated/model/boardRepositoryLinkCreate.ts new file mode 100644 index 0000000..9f54f2c --- /dev/null +++ b/frontend/src/api/generated/model/boardRepositoryLinkCreate.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Schema for creating a board repository link. + */ +export interface BoardRepositoryLinkCreate { + repository_id: string; +} diff --git a/frontend/src/api/generated/model/boardRepositoryLinkDeleteResponse.ts b/frontend/src/api/generated/model/boardRepositoryLinkDeleteResponse.ts new file mode 100644 index 0000000..5c5e465 --- /dev/null +++ b/frontend/src/api/generated/model/boardRepositoryLinkDeleteResponse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Delete response with success status. + */ +export interface BoardRepositoryLinkDeleteResponse { + success?: boolean; + message?: string | null; +} diff --git a/frontend/src/api/generated/model/boardRepositoryLinkRead.ts b/frontend/src/api/generated/model/boardRepositoryLinkRead.ts new file mode 100644 index 0000000..74292e6 --- /dev/null +++ b/frontend/src/api/generated/model/boardRepositoryLinkRead.ts @@ -0,0 +1,17 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Schema for reading a board repository link. + */ +export interface BoardRepositoryLinkRead { + id: string; + board_id: string; + repository_id: string; + organization_id: string; + created_at: string; +} diff --git a/frontend/src/api/generated/model/boardRepositoryLinkResponse.ts b/frontend/src/api/generated/model/boardRepositoryLinkResponse.ts new file mode 100644 index 0000000..a7cce85 --- /dev/null +++ b/frontend/src/api/generated/model/boardRepositoryLinkResponse.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { BoardRepositoryLinkRead } from "./boardRepositoryLinkRead"; + +/** + * Single link response with success status. + */ +export interface BoardRepositoryLinkResponse { + success?: boolean; + link?: BoardRepositoryLinkRead | null; +} diff --git a/frontend/src/api/generated/model/boardSnapshot.ts b/frontend/src/api/generated/model/boardSnapshot.ts index a752821..10bee2f 100644 --- a/frontend/src/api/generated/model/boardSnapshot.ts +++ b/frontend/src/api/generated/model/boardSnapshot.ts @@ -14,10 +14,10 @@ import type { TaskCardRead } from "./taskCardRead"; * Aggregated board payload used by board snapshot endpoints. */ export interface BoardSnapshot { + board: BoardRead; + tasks: TaskCardRead[]; agents: AgentRead[]; approvals: ApprovalRead[]; - board: BoardRead; chat_messages: BoardMemoryRead[]; pending_approvals_count?: number; - tasks: TaskCardRead[]; } diff --git a/frontend/src/api/generated/model/boardUpdate.ts b/frontend/src/api/generated/model/boardUpdate.ts index bb0a890..3a1b359 100644 --- a/frontend/src/api/generated/model/boardUpdate.ts +++ b/frontend/src/api/generated/model/boardUpdate.ts @@ -10,21 +10,21 @@ import type { BoardUpdateSuccessMetrics } from "./boardUpdateSuccessMetrics"; * Payload for partial board updates. */ export interface BoardUpdate { - block_status_changes_with_pending_approval?: boolean | null; - board_group_id?: string | null; - board_type?: string | null; - comment_required_for_review?: boolean | null; + name?: string | null; + slug?: string | null; description?: string | null; gateway_id?: string | null; - goal_confirmed?: boolean | null; - goal_source?: string | null; - max_agents?: number | null; - name?: string | null; + board_group_id?: string | null; + board_type?: string | null; objective?: string | null; - only_lead_can_change_status?: boolean | null; - require_approval_for_done?: boolean | null; - require_review_before_done?: boolean | null; - slug?: string | null; success_metrics?: BoardUpdateSuccessMetrics; target_date?: string | null; + goal_confirmed?: boolean | null; + goal_source?: string | null; + require_approval_for_done?: boolean | null; + require_review_before_done?: boolean | null; + comment_required_for_review?: boolean | null; + block_status_changes_with_pending_approval?: boolean | null; + only_lead_can_change_status?: boolean | null; + max_agents?: number | null; } diff --git a/frontend/src/api/generated/model/boardWebhookCreate.ts b/frontend/src/api/generated/model/boardWebhookCreate.ts index dea943c..b9b97ad 100644 --- a/frontend/src/api/generated/model/boardWebhookCreate.ts +++ b/frontend/src/api/generated/model/boardWebhookCreate.ts @@ -9,8 +9,10 @@ * Payload for creating a board webhook. */ export interface BoardWebhookCreate { - agent_id?: string | null; /** @minLength 1 */ description: string; enabled?: boolean; + agent_id?: string | null; + secret?: string | null; + signature_header?: string | null; } diff --git a/frontend/src/api/generated/model/boardWebhookIngestResponse.ts b/frontend/src/api/generated/model/boardWebhookIngestResponse.ts index 806dcb4..179c77d 100644 --- a/frontend/src/api/generated/model/boardWebhookIngestResponse.ts +++ b/frontend/src/api/generated/model/boardWebhookIngestResponse.ts @@ -9,8 +9,8 @@ * Response payload for inbound webhook ingestion. */ export interface BoardWebhookIngestResponse { - board_id: string; ok?: boolean; - payload_id: string; + board_id: string; webhook_id: string; + payload_id: string; } diff --git a/frontend/src/api/generated/model/boardWebhookPayloadRead.ts b/frontend/src/api/generated/model/boardWebhookPayloadRead.ts index 846b388..ebd79a3 100644 --- a/frontend/src/api/generated/model/boardWebhookPayloadRead.ts +++ b/frontend/src/api/generated/model/boardWebhookPayloadRead.ts @@ -11,12 +11,12 @@ import type { BoardWebhookPayloadReadPayload } from "./boardWebhookPayloadReadPa * Serialized stored webhook payload. */ export interface BoardWebhookPayloadRead { - board_id: string; - content_type?: string | null; - headers?: BoardWebhookPayloadReadHeaders; id: string; - payload?: BoardWebhookPayloadReadPayload; - received_at: string; - source_ip?: string | null; + board_id: string; webhook_id: string; + payload?: BoardWebhookPayloadReadPayload; + headers?: BoardWebhookPayloadReadHeaders; + source_ip?: string | null; + content_type?: string | null; + received_at: string; } diff --git a/frontend/src/api/generated/model/boardWebhookRead.ts b/frontend/src/api/generated/model/boardWebhookRead.ts index b817133..96ffebc 100644 --- a/frontend/src/api/generated/model/boardWebhookRead.ts +++ b/frontend/src/api/generated/model/boardWebhookRead.ts @@ -9,13 +9,15 @@ * Serialized board webhook configuration. */ export interface BoardWebhookRead { - agent_id?: string | null; + id: string; board_id: string; - created_at: string; + agent_id?: string | null; description: string; enabled: boolean; + has_secret?: boolean; + signature_header?: string | null; endpoint_path: string; endpoint_url?: string | null; - id: string; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/boardWebhookUpdate.ts b/frontend/src/api/generated/model/boardWebhookUpdate.ts index 26356b5..dad6335 100644 --- a/frontend/src/api/generated/model/boardWebhookUpdate.ts +++ b/frontend/src/api/generated/model/boardWebhookUpdate.ts @@ -9,7 +9,9 @@ * Payload for updating a board webhook. */ export interface BoardWebhookUpdate { - agent_id?: string | null; description?: string | null; enabled?: boolean | null; + agent_id?: string | null; + secret?: string | null; + signature_header?: string | null; } diff --git a/frontend/src/api/generated/model/closeIssueResponse.ts b/frontend/src/api/generated/model/closeIssueResponse.ts new file mode 100644 index 0000000..9440246 --- /dev/null +++ b/frontend/src/api/generated/model/closeIssueResponse.ts @@ -0,0 +1,18 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Response for issue close operations. + */ +export interface CloseIssueResponse { + success: boolean; + issue_id: string; + forgejo_issue_number: number; + state: string; + forgejo_closed_at?: string | null; + last_synced_at: string; +} diff --git a/frontend/src/api/generated/model/dashboardKpis.ts b/frontend/src/api/generated/model/dashboardKpis.ts index f0d8a05..724be8b 100644 --- a/frontend/src/api/generated/model/dashboardKpis.ts +++ b/frontend/src/api/generated/model/dashboardKpis.ts @@ -10,11 +10,11 @@ */ export interface DashboardKpis { active_agents: number; + tasks_in_progress: number; + inbox_tasks: number; + in_progress_tasks: number; + review_tasks: number; done_tasks: number; error_rate_pct: number; - in_progress_tasks: number; - inbox_tasks: number; median_cycle_time_hours_7d: number | null; - review_tasks: number; - tasks_in_progress: number; } diff --git a/frontend/src/api/generated/model/dashboardMetrics.ts b/frontend/src/api/generated/model/dashboardMetrics.ts index ce45783..99fc277 100644 --- a/frontend/src/api/generated/model/dashboardMetrics.ts +++ b/frontend/src/api/generated/model/dashboardMetrics.ts @@ -14,12 +14,12 @@ import type { DashboardWipSeriesSet } from "./dashboardWipSeriesSet"; * Complete dashboard metrics response payload. */ export interface DashboardMetrics { - cycle_time: DashboardSeriesSet; - error_rate: DashboardSeriesSet; + range: DashboardMetricsRange; generated_at: string; kpis: DashboardKpis; - pending_approvals: DashboardPendingApprovals; - range: DashboardMetricsRange; throughput: DashboardSeriesSet; + cycle_time: DashboardSeriesSet; + error_rate: DashboardSeriesSet; wip: DashboardWipSeriesSet; + pending_approvals: DashboardPendingApprovals; } diff --git a/frontend/src/api/generated/model/dashboardPendingApproval.ts b/frontend/src/api/generated/model/dashboardPendingApproval.ts index 66fab8a..2dd035a 100644 --- a/frontend/src/api/generated/model/dashboardPendingApproval.ts +++ b/frontend/src/api/generated/model/dashboardPendingApproval.ts @@ -9,10 +9,10 @@ * Single pending approval item for cross-board dashboard listing. */ export interface DashboardPendingApproval { - action_type: string; approval_id: string; board_id: string; board_name: string; + action_type: string; confidence: number; created_at: string; task_title?: string | null; diff --git a/frontend/src/api/generated/model/dashboardPendingApprovals.ts b/frontend/src/api/generated/model/dashboardPendingApprovals.ts index 26dbe84..b9bf5cf 100644 --- a/frontend/src/api/generated/model/dashboardPendingApprovals.ts +++ b/frontend/src/api/generated/model/dashboardPendingApprovals.ts @@ -10,6 +10,6 @@ import type { DashboardPendingApproval } from "./dashboardPendingApproval"; * Pending approval snapshot used on the dashboard. */ export interface DashboardPendingApprovals { - items: DashboardPendingApproval[]; total: number; + items: DashboardPendingApproval[]; } diff --git a/frontend/src/api/generated/model/dashboardRangeSeries.ts b/frontend/src/api/generated/model/dashboardRangeSeries.ts index f996bcf..9e3fd7a 100644 --- a/frontend/src/api/generated/model/dashboardRangeSeries.ts +++ b/frontend/src/api/generated/model/dashboardRangeSeries.ts @@ -12,7 +12,7 @@ import type { DashboardSeriesPoint } from "./dashboardSeriesPoint"; * Series payload for a single range/bucket combination. */ export interface DashboardRangeSeries { + range: DashboardRangeSeriesRange; bucket: DashboardRangeSeriesBucket; points: DashboardSeriesPoint[]; - range: DashboardRangeSeriesRange; } diff --git a/frontend/src/api/generated/model/dashboardSeriesSet.ts b/frontend/src/api/generated/model/dashboardSeriesSet.ts index 086f415..c7742a2 100644 --- a/frontend/src/api/generated/model/dashboardSeriesSet.ts +++ b/frontend/src/api/generated/model/dashboardSeriesSet.ts @@ -10,6 +10,6 @@ import type { DashboardRangeSeries } from "./dashboardRangeSeries"; * Primary vs comparison pair for generic series metrics. */ export interface DashboardSeriesSet { - comparison: DashboardRangeSeries; primary: DashboardRangeSeries; + comparison: DashboardRangeSeries; } diff --git a/frontend/src/api/generated/model/dashboardWipPoint.ts b/frontend/src/api/generated/model/dashboardWipPoint.ts index 7390dee..b36c941 100644 --- a/frontend/src/api/generated/model/dashboardWipPoint.ts +++ b/frontend/src/api/generated/model/dashboardWipPoint.ts @@ -9,9 +9,9 @@ * Work-in-progress point split by task status buckets. */ export interface DashboardWipPoint { - done: number; - in_progress: number; - inbox: number; period: string; + inbox: number; + in_progress: number; review: number; + done: number; } diff --git a/frontend/src/api/generated/model/dashboardWipRangeSeries.ts b/frontend/src/api/generated/model/dashboardWipRangeSeries.ts index e439b04..2654533 100644 --- a/frontend/src/api/generated/model/dashboardWipRangeSeries.ts +++ b/frontend/src/api/generated/model/dashboardWipRangeSeries.ts @@ -12,7 +12,7 @@ import type { DashboardWipRangeSeriesRange } from "./dashboardWipRangeSeriesRang * WIP series payload for a single range/bucket combination. */ export interface DashboardWipRangeSeries { + range: DashboardWipRangeSeriesRange; bucket: DashboardWipRangeSeriesBucket; points: DashboardWipPoint[]; - range: DashboardWipRangeSeriesRange; } diff --git a/frontend/src/api/generated/model/dashboardWipSeriesSet.ts b/frontend/src/api/generated/model/dashboardWipSeriesSet.ts index f2f9e9c..ff4c59b 100644 --- a/frontend/src/api/generated/model/dashboardWipSeriesSet.ts +++ b/frontend/src/api/generated/model/dashboardWipSeriesSet.ts @@ -10,6 +10,6 @@ import type { DashboardWipRangeSeries } from "./dashboardWipRangeSeries"; * Primary vs comparison pair for WIP status series metrics. */ export interface DashboardWipSeriesSet { - comparison: DashboardWipRangeSeries; primary: DashboardWipRangeSeries; + comparison: DashboardWipRangeSeries; } diff --git a/frontend/src/api/generated/model/forgejoConnectionCreate.ts b/frontend/src/api/generated/model/forgejoConnectionCreate.ts new file mode 100644 index 0000000..3a6861a --- /dev/null +++ b/frontend/src/api/generated/model/forgejoConnectionCreate.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Payload for creating a Forgejo connection configuration. + */ +export interface ForgejoConnectionCreate { + name: string; + base_url: string; + token?: string | null; + active?: boolean; +} diff --git a/frontend/src/api/generated/model/forgejoConnectionRead.ts b/frontend/src/api/generated/model/forgejoConnectionRead.ts new file mode 100644 index 0000000..50caa7d --- /dev/null +++ b/frontend/src/api/generated/model/forgejoConnectionRead.ts @@ -0,0 +1,22 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Connection payload returned from read endpoints. + */ +export interface ForgejoConnectionRead { + name: string; + base_url: string; + token?: string | null; + active?: boolean; + id: string; + organization_id: string; + has_token: boolean; + token_last_eight: string | null; + created_at: string; + updated_at: string; +} diff --git a/frontend/src/api/generated/model/forgejoConnectionTestRepo.ts b/frontend/src/api/generated/model/forgejoConnectionTestRepo.ts new file mode 100644 index 0000000..9843e1b --- /dev/null +++ b/frontend/src/api/generated/model/forgejoConnectionTestRepo.ts @@ -0,0 +1,18 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Minimal repo info returned in a connection test. + */ +export interface ForgejoConnectionTestRepo { + full_name: string; + name: string; + owner: string; + default_branch: string; + private: boolean; + description?: string | null; +} diff --git a/frontend/src/api/generated/model/forgejoConnectionTestRequest.ts b/frontend/src/api/generated/model/forgejoConnectionTestRequest.ts new file mode 100644 index 0000000..83cd0c4 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoConnectionTestRequest.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Payload for testing a connection before saving it. + */ +export interface ForgejoConnectionTestRequest { + base_url: string; + token: string; +} diff --git a/frontend/src/api/generated/model/forgejoConnectionTestResponse.ts b/frontend/src/api/generated/model/forgejoConnectionTestResponse.ts new file mode 100644 index 0000000..bfbe8c0 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoConnectionTestResponse.ts @@ -0,0 +1,20 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { ForgejoConnectionTestRepo } from "./forgejoConnectionTestRepo"; + +/** + * Result of a pre-save connection test. + */ +export interface ForgejoConnectionTestResponse { + valid: boolean; + user_login?: string | null; + user_full_name?: string | null; + repo_count?: number; + repos?: ForgejoConnectionTestRepo[]; + error?: string | null; + response_time_ms?: number; +} diff --git a/frontend/src/api/generated/model/forgejoConnectionUpdate.ts b/frontend/src/api/generated/model/forgejoConnectionUpdate.ts new file mode 100644 index 0000000..0ab3d5a --- /dev/null +++ b/frontend/src/api/generated/model/forgejoConnectionUpdate.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Payload for partial Forgejo connection updates. + */ +export interface ForgejoConnectionUpdate { + name?: string | null; + base_url?: string | null; + token?: string | null; + active?: boolean | null; +} diff --git a/frontend/src/api/generated/model/forgejoConnectionValidationResponse.ts b/frontend/src/api/generated/model/forgejoConnectionValidationResponse.ts new file mode 100644 index 0000000..d1f13d4 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoConnectionValidationResponse.ts @@ -0,0 +1,17 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { ValidationStatus } from "./validationStatus"; + +/** + * Response for Forgejo connection validation. + */ +export interface ForgejoConnectionValidationResponse { + connection_id: string; + status: ValidationStatus; + response_time_ms: number; + validated_at: string; +} diff --git a/frontend/src/api/generated/model/forgejoIssueListResponse.ts b/frontend/src/api/generated/model/forgejoIssueListResponse.ts new file mode 100644 index 0000000..623e0f9 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoIssueListResponse.ts @@ -0,0 +1,17 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { ForgejoIssueRead } from "./forgejoIssueRead"; + +/** + * Paginated list response for issues. + */ +export interface ForgejoIssueListResponse { + items: ForgejoIssueRead[]; + total: number; + page: number; + limit: number; +} diff --git a/frontend/src/api/generated/model/forgejoIssueRead.ts b/frontend/src/api/generated/model/forgejoIssueRead.ts new file mode 100644 index 0000000..4be55b1 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoIssueRead.ts @@ -0,0 +1,34 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { ForgejoIssueReadAssigneesItem } from "./forgejoIssueReadAssigneesItem"; +import type { ForgejoIssueReadLabelsItem } from "./forgejoIssueReadLabelsItem"; +import type { ForgejoIssueReadMilestone } from "./forgejoIssueReadMilestone"; + +/** + * Issue payload returned from read endpoints. + */ +export interface ForgejoIssueRead { + forgejo_issue_number: number; + title: string; + body?: string | null; + body_preview?: string | null; + state: string; + is_pull_request: boolean; + labels?: ForgejoIssueReadLabelsItem[]; + assignees?: ForgejoIssueReadAssigneesItem[]; + milestone?: ForgejoIssueReadMilestone; + author: string; + html_url: string; + forgejo_created_at: string; + forgejo_updated_at: string; + forgejo_closed_at?: string | null; + id: string; + organization_id: string; + repository_id: string; + created_at: string; + updated_at: string; +} diff --git a/frontend/src/api/generated/model/forgejoIssueReadAssigneesItem.ts b/frontend/src/api/generated/model/forgejoIssueReadAssigneesItem.ts new file mode 100644 index 0000000..ed31021 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoIssueReadAssigneesItem.ts @@ -0,0 +1,8 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type ForgejoIssueReadAssigneesItem = { [key: string]: unknown }; diff --git a/frontend/src/api/generated/model/forgejoIssueReadLabelsItem.ts b/frontend/src/api/generated/model/forgejoIssueReadLabelsItem.ts new file mode 100644 index 0000000..d6ca5f5 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoIssueReadLabelsItem.ts @@ -0,0 +1,8 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type ForgejoIssueReadLabelsItem = { [key: string]: unknown }; diff --git a/frontend/src/api/generated/model/forgejoIssueReadMilestone.ts b/frontend/src/api/generated/model/forgejoIssueReadMilestone.ts new file mode 100644 index 0000000..0ac818f --- /dev/null +++ b/frontend/src/api/generated/model/forgejoIssueReadMilestone.ts @@ -0,0 +1,8 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type ForgejoIssueReadMilestone = { [key: string]: unknown } | null; diff --git a/frontend/src/api/generated/model/forgejoRepositoryConnectionInfo.ts b/frontend/src/api/generated/model/forgejoRepositoryConnectionInfo.ts new file mode 100644 index 0000000..0db7f7b --- /dev/null +++ b/frontend/src/api/generated/model/forgejoRepositoryConnectionInfo.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Safe connection metadata included in repository read responses. + */ +export interface ForgejoRepositoryConnectionInfo { + id: string; + organization_id: string; + name: string; + base_url: string; + has_token: boolean; + token_last_eight: string | null; + active: boolean; +} diff --git a/frontend/src/api/generated/model/forgejoRepositoryCreate.ts b/frontend/src/api/generated/model/forgejoRepositoryCreate.ts new file mode 100644 index 0000000..3859c21 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoRepositoryCreate.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Payload for creating a Forgejo repository tracked configuration. + */ +export interface ForgejoRepositoryCreate { + owner: string; + repo: string; + display_name?: string; + default_branch?: string; + active?: boolean; + connection_id: string; + webhook_secret?: string | null; +} diff --git a/frontend/src/api/generated/model/forgejoRepositoryRead.ts b/frontend/src/api/generated/model/forgejoRepositoryRead.ts new file mode 100644 index 0000000..2a60c60 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoRepositoryRead.ts @@ -0,0 +1,33 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { ForgejoRepositoryConnectionInfo } from "./forgejoRepositoryConnectionInfo"; +import type { ForgejoRepositoryReadLabelsItem } from "./forgejoRepositoryReadLabelsItem"; + +/** + * Repository payload returned from read endpoints. + */ +export interface ForgejoRepositoryRead { + owner: string; + repo: string; + display_name?: string; + default_branch?: string; + active?: boolean; + id: string; + organization_id: string; + connection_id: string; + connection: ForgejoRepositoryConnectionInfo; + has_webhook_secret?: boolean; + description?: string | null; + open_issues_count?: number; + is_archived?: boolean; + topics?: string[]; + labels?: ForgejoRepositoryReadLabelsItem[]; + last_sync_at: string | null; + last_sync_error: string | null; + created_at: string; + updated_at: string; +} diff --git a/frontend/src/api/generated/model/forgejoRepositoryReadLabelsItem.ts b/frontend/src/api/generated/model/forgejoRepositoryReadLabelsItem.ts new file mode 100644 index 0000000..eca560a --- /dev/null +++ b/frontend/src/api/generated/model/forgejoRepositoryReadLabelsItem.ts @@ -0,0 +1,8 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type ForgejoRepositoryReadLabelsItem = { [key: string]: unknown }; diff --git a/frontend/src/api/generated/model/forgejoRepositoryUpdate.ts b/frontend/src/api/generated/model/forgejoRepositoryUpdate.ts new file mode 100644 index 0000000..b2f0b57 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoRepositoryUpdate.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Payload for partial Forgejo repository updates. + */ +export interface ForgejoRepositoryUpdate { + connection_id?: string | null; + owner?: string | null; + repo?: string | null; + display_name?: string | null; + default_branch?: string | null; + active?: boolean | null; + webhook_secret?: string | null; +} diff --git a/frontend/src/api/generated/model/forgejoRepositoryValidationResponse.ts b/frontend/src/api/generated/model/forgejoRepositoryValidationResponse.ts new file mode 100644 index 0000000..9ecf201 --- /dev/null +++ b/frontend/src/api/generated/model/forgejoRepositoryValidationResponse.ts @@ -0,0 +1,18 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { ValidationStatus } from "./validationStatus"; + +/** + * Response for Forgejo repository validation. + */ +export interface ForgejoRepositoryValidationResponse { + repository_id: string; + status: ValidationStatus; + response_time_ms: number; + validated_at: string; + repo_exists?: boolean | null; +} diff --git a/frontend/src/api/generated/model/forgejoWebhookIngestResponse.ts b/frontend/src/api/generated/model/forgejoWebhookIngestResponse.ts new file mode 100644 index 0000000..0fc6c3c --- /dev/null +++ b/frontend/src/api/generated/model/forgejoWebhookIngestResponse.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Response returned after receiving a Forgejo webhook delivery. + */ +export interface ForgejoWebhookIngestResponse { + ok?: boolean; + repository_id: string; + action?: string | null; + issue_id?: string | null; + issue_number?: number | null; + ignored?: boolean; + reason?: string | null; +} diff --git a/frontend/src/api/generated/model/gatewayAgentImportCandidate.ts b/frontend/src/api/generated/model/gatewayAgentImportCandidate.ts new file mode 100644 index 0000000..09f3cb2 --- /dev/null +++ b/frontend/src/api/generated/model/gatewayAgentImportCandidate.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * One gateway runtime agent candidate discovered for import. + */ +export interface GatewayAgentImportCandidate { + gateway_agent_id: string; + gateway_agent_name?: string | null; + session_key?: string | null; + existing_agent_id?: string | null; + importable: boolean; + inferred_board_id?: string | null; + inferred_is_board_lead?: boolean; +} diff --git a/frontend/src/api/generated/model/gatewayAgentImportPreviewResponse.ts b/frontend/src/api/generated/model/gatewayAgentImportPreviewResponse.ts new file mode 100644 index 0000000..8586f6e --- /dev/null +++ b/frontend/src/api/generated/model/gatewayAgentImportPreviewResponse.ts @@ -0,0 +1,18 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { GatewayAgentImportCandidate } from "./gatewayAgentImportCandidate"; + +/** + * Discovery preview response for importing existing gateway agents. + */ +export interface GatewayAgentImportPreviewResponse { + gateway_id: string; + discovered_count: number; + importable_count: number; + already_tracked_count: number; + candidates?: GatewayAgentImportCandidate[]; +} diff --git a/frontend/src/api/generated/model/gatewayAgentImportReconcileSummary.ts b/frontend/src/api/generated/model/gatewayAgentImportReconcileSummary.ts new file mode 100644 index 0000000..be00dd3 --- /dev/null +++ b/frontend/src/api/generated/model/gatewayAgentImportReconcileSummary.ts @@ -0,0 +1,17 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { GatewayAgentReconcileError } from "./gatewayAgentReconcileError"; + +/** + * Summary for optional post-import reconcile execution. + */ +export interface GatewayAgentImportReconcileSummary { + attempted: number; + updated: number; + skipped: number; + errors?: GatewayAgentReconcileError[]; +} diff --git a/frontend/src/api/generated/model/gatewayAgentImportRequest.ts b/frontend/src/api/generated/model/gatewayAgentImportRequest.ts new file mode 100644 index 0000000..f3264bd --- /dev/null +++ b/frontend/src/api/generated/model/gatewayAgentImportRequest.ts @@ -0,0 +1,18 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Request payload listing gateway runtime agents to import. + */ +export interface GatewayAgentImportRequest { + /** @minItems 1 */ + gateway_agent_ids?: string[]; + reconcile_after_import?: boolean; + rotate_tokens?: boolean; + reset_sessions?: boolean; + force_bootstrap?: boolean; +} diff --git a/frontend/src/api/generated/model/gatewayAgentImportResponse.ts b/frontend/src/api/generated/model/gatewayAgentImportResponse.ts new file mode 100644 index 0000000..12de275 --- /dev/null +++ b/frontend/src/api/generated/model/gatewayAgentImportResponse.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { GatewayAgentImportReconcileSummary } from "./gatewayAgentImportReconcileSummary"; + +/** + * Import summary response for existing gateway runtime agents. + */ +export interface GatewayAgentImportResponse { + gateway_id: string; + imported_count: number; + skipped_count: number; + imported_agent_ids?: string[]; + skipped_gateway_agent_ids?: string[]; + reconcile?: GatewayAgentImportReconcileSummary | null; +} diff --git a/frontend/src/api/generated/model/gatewayAgentReconcileError.ts b/frontend/src/api/generated/model/gatewayAgentReconcileError.ts new file mode 100644 index 0000000..a00b0e4 --- /dev/null +++ b/frontend/src/api/generated/model/gatewayAgentReconcileError.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * One reconciliation error for an imported agent. + */ +export interface GatewayAgentReconcileError { + agent_id?: string | null; + message: string; +} diff --git a/frontend/src/api/generated/model/gatewayCommandsResponse.ts b/frontend/src/api/generated/model/gatewayCommandsResponse.ts index d763c03..592df7e 100644 --- a/frontend/src/api/generated/model/gatewayCommandsResponse.ts +++ b/frontend/src/api/generated/model/gatewayCommandsResponse.ts @@ -9,7 +9,7 @@ * Gateway command catalog and protocol metadata. */ export interface GatewayCommandsResponse { - events: string[]; - methods: string[]; protocol_version: number; + methods: string[]; + events: string[]; } diff --git a/frontend/src/api/generated/model/gatewayCreate.ts b/frontend/src/api/generated/model/gatewayCreate.ts index ee4ea5d..087f146 100644 --- a/frontend/src/api/generated/model/gatewayCreate.ts +++ b/frontend/src/api/generated/model/gatewayCreate.ts @@ -9,10 +9,10 @@ * Payload for creating a gateway configuration. */ export interface GatewayCreate { - allow_insecure_tls?: boolean; - disable_device_pairing?: boolean; name: string; - token?: string | null; url: string; workspace_root: string; + allow_insecure_tls?: boolean; + disable_device_pairing?: boolean; + token?: string | null; } diff --git a/frontend/src/api/generated/model/gatewayLeadBroadcastBoardResult.ts b/frontend/src/api/generated/model/gatewayLeadBroadcastBoardResult.ts index e490d3f..dac6c6d 100644 --- a/frontend/src/api/generated/model/gatewayLeadBroadcastBoardResult.ts +++ b/frontend/src/api/generated/model/gatewayLeadBroadcastBoardResult.ts @@ -11,12 +11,12 @@ export interface GatewayLeadBroadcastBoardResult { /** Target board id for this result. */ board_id: string; - /** Failure reason if this board failed. */ - error?: string | null; /** Resolved lead agent id for the target board. */ lead_agent_id?: string | null; /** Resolved lead agent display name. */ lead_agent_name?: string | null; /** Whether this board delivery succeeded. */ ok?: boolean; + /** Failure reason if this board failed. */ + error?: string | null; } diff --git a/frontend/src/api/generated/model/gatewayLeadBroadcastRequest.ts b/frontend/src/api/generated/model/gatewayLeadBroadcastRequest.ts index e4d78dd..1fb5fb2 100644 --- a/frontend/src/api/generated/model/gatewayLeadBroadcastRequest.ts +++ b/frontend/src/api/generated/model/gatewayLeadBroadcastRequest.ts @@ -10,19 +10,19 @@ import type { GatewayLeadBroadcastRequestKind } from "./gatewayLeadBroadcastRequ * Request payload for broadcasting a message to multiple board leads. */ export interface GatewayLeadBroadcastRequest { - /** Optional explicit list of board IDs; omit for lead-scoped defaults. */ - board_ids?: string[] | null; + /** Broadcast intent. `question` asks for responses; `handoff` requests transfer. */ + kind?: GatewayLeadBroadcastRequestKind; + /** Optional correlation token shared with downstream handlers. */ + correlation_id?: string | null; /** * Message content distributed to selected board leads. * @minLength 1 */ content: string; - /** Optional correlation token shared with downstream handlers. */ - correlation_id?: string | null; - /** Broadcast intent. `question` asks for responses; `handoff` requests transfer. */ - kind?: GatewayLeadBroadcastRequestKind; - /** Reply destination key for broadcast responses. */ - reply_source?: string | null; + /** Optional explicit list of board IDs; omit for lead-scoped defaults. */ + board_ids?: string[] | null; /** Tags required by reply templates when each lead responds. */ reply_tags?: string[]; + /** Reply destination key for broadcast responses. */ + reply_source?: string | null; } diff --git a/frontend/src/api/generated/model/gatewayLeadBroadcastResponse.ts b/frontend/src/api/generated/model/gatewayLeadBroadcastResponse.ts index 36b905c..42013c6 100644 --- a/frontend/src/api/generated/model/gatewayLeadBroadcastResponse.ts +++ b/frontend/src/api/generated/model/gatewayLeadBroadcastResponse.ts @@ -10,11 +10,11 @@ import type { GatewayLeadBroadcastBoardResult } from "./gatewayLeadBroadcastBoar * Aggregate response for a lead broadcast operation. */ export interface GatewayLeadBroadcastResponse { - /** Number of boards that failed messaging. */ - failed?: number; /** Whether broadcast execution succeeded. */ ok?: boolean; - results?: GatewayLeadBroadcastBoardResult[]; /** Number of boards successfully messaged. */ sent?: number; + /** Number of boards that failed messaging. */ + failed?: number; + results?: GatewayLeadBroadcastBoardResult[]; } diff --git a/frontend/src/api/generated/model/gatewayLeadMessageRequest.ts b/frontend/src/api/generated/model/gatewayLeadMessageRequest.ts index 0f8e150..3e64d70 100644 --- a/frontend/src/api/generated/model/gatewayLeadMessageRequest.ts +++ b/frontend/src/api/generated/model/gatewayLeadMessageRequest.ts @@ -10,17 +10,17 @@ import type { GatewayLeadMessageRequestKind } from "./gatewayLeadMessageRequestK * Request payload for sending a message to a board lead agent. */ export interface GatewayLeadMessageRequest { + /** Routing mode for lead messages. */ + kind?: GatewayLeadMessageRequestKind; + /** Optional correlation token shared across upstream and downstream systems. */ + correlation_id?: string | null; /** * Human-readable body sent to lead agents. * @minLength 1 */ content: string; - /** Optional correlation token shared across upstream and downstream systems. */ - correlation_id?: string | null; - /** Routing mode for lead messages. */ - kind?: GatewayLeadMessageRequestKind; - /** Reply destination key for the orchestrator. */ - reply_source?: string | null; /** Tags required by reply templates when the lead responds. */ reply_tags?: string[]; + /** Reply destination key for the orchestrator. */ + reply_source?: string | null; } diff --git a/frontend/src/api/generated/model/gatewayLeadMessageResponse.ts b/frontend/src/api/generated/model/gatewayLeadMessageResponse.ts index a4d3570..d890c49 100644 --- a/frontend/src/api/generated/model/gatewayLeadMessageResponse.ts +++ b/frontend/src/api/generated/model/gatewayLeadMessageResponse.ts @@ -9,6 +9,8 @@ * Response payload for a lead-message dispatch attempt. */ export interface GatewayLeadMessageResponse { + /** Whether dispatch was accepted. */ + ok?: boolean; /** Board receiving the message. */ board_id: string; /** Resolved lead agent id when present. */ @@ -17,6 +19,4 @@ export interface GatewayLeadMessageResponse { lead_agent_name?: string | null; /** Whether a lead fallback actor was created during routing. */ lead_created?: boolean; - /** Whether dispatch was accepted. */ - ok?: boolean; } diff --git a/frontend/src/api/generated/model/gatewayMainAskUserRequest.ts b/frontend/src/api/generated/model/gatewayMainAskUserRequest.ts index 10d58c3..77c77d5 100644 --- a/frontend/src/api/generated/model/gatewayMainAskUserRequest.ts +++ b/frontend/src/api/generated/model/gatewayMainAskUserRequest.ts @@ -9,17 +9,17 @@ * Request payload for asking the end user via a main gateway agent. */ export interface GatewayMainAskUserRequest { + /** Optional correlation token for tracing request/response flow. */ + correlation_id?: string | null; /** * Prompt that should be asked to the human. * @minLength 1 */ content: string; - /** Optional correlation token for tracing request/response flow. */ - correlation_id?: string | null; /** Optional preferred messaging channel. */ preferred_channel?: string | null; - /** Reply destination key for user confirmation loops. */ - reply_source?: string | null; /** Tags required for routing the user response. */ reply_tags?: string[]; + /** Reply destination key for user confirmation loops. */ + reply_source?: string | null; } diff --git a/frontend/src/api/generated/model/gatewayMainAskUserResponse.ts b/frontend/src/api/generated/model/gatewayMainAskUserResponse.ts index 599081b..69a5c17 100644 --- a/frontend/src/api/generated/model/gatewayMainAskUserResponse.ts +++ b/frontend/src/api/generated/model/gatewayMainAskUserResponse.ts @@ -9,12 +9,12 @@ * Response payload for user-question dispatch via gateway main agent. */ export interface GatewayMainAskUserResponse { + /** Whether ask-user dispatch was accepted. */ + ok?: boolean; /** Board context used for the request. */ board_id: string; /** Resolved main agent id handling the ask. */ main_agent_id?: string | null; /** Resolved main agent display name. */ main_agent_name?: string | null; - /** Whether ask-user dispatch was accepted. */ - ok?: boolean; } diff --git a/frontend/src/api/generated/model/gatewayRead.ts b/frontend/src/api/generated/model/gatewayRead.ts index def4911..e7dde24 100644 --- a/frontend/src/api/generated/model/gatewayRead.ts +++ b/frontend/src/api/generated/model/gatewayRead.ts @@ -9,14 +9,14 @@ * Gateway payload returned from read endpoints. */ export interface GatewayRead { - allow_insecure_tls?: boolean; - created_at: string; - disable_device_pairing?: boolean; - id: string; name: string; - organization_id: string; - token?: string | null; - updated_at: string; url: string; workspace_root: string; + allow_insecure_tls?: boolean; + disable_device_pairing?: boolean; + id: string; + organization_id: string; + token?: string | null; + created_at: string; + updated_at: string; } diff --git a/frontend/src/api/generated/model/gatewaySessionsResponse.ts b/frontend/src/api/generated/model/gatewaySessionsResponse.ts index 8cf60e1..fba71fc 100644 --- a/frontend/src/api/generated/model/gatewaySessionsResponse.ts +++ b/frontend/src/api/generated/model/gatewaySessionsResponse.ts @@ -9,6 +9,6 @@ * Gateway sessions list response payload. */ export interface GatewaySessionsResponse { - main_session?: unknown | null; sessions: unknown[]; + main_session?: unknown | null; } diff --git a/frontend/src/api/generated/model/gatewayTemplatesSyncResult.ts b/frontend/src/api/generated/model/gatewayTemplatesSyncResult.ts index f6e19d8..2eb14d8 100644 --- a/frontend/src/api/generated/model/gatewayTemplatesSyncResult.ts +++ b/frontend/src/api/generated/model/gatewayTemplatesSyncResult.ts @@ -10,11 +10,11 @@ import type { GatewayTemplatesSyncError } from "./gatewayTemplatesSyncError"; * Summary payload returned by gateway template sync endpoints. */ export interface GatewayTemplatesSyncResult { - agents_skipped: number; - agents_updated: number; - errors?: GatewayTemplatesSyncError[]; gateway_id: string; include_main: boolean; - main_updated: boolean; reset_sessions: boolean; + agents_updated: number; + agents_skipped: number; + main_updated: boolean; + errors?: GatewayTemplatesSyncError[]; } diff --git a/frontend/src/api/generated/model/gatewayUpdate.ts b/frontend/src/api/generated/model/gatewayUpdate.ts index e284f97..ba37efe 100644 --- a/frontend/src/api/generated/model/gatewayUpdate.ts +++ b/frontend/src/api/generated/model/gatewayUpdate.ts @@ -9,10 +9,10 @@ * Payload for partial gateway updates. */ export interface GatewayUpdate { + name?: string | null; + url?: string | null; + token?: string | null; + workspace_root?: string | null; allow_insecure_tls?: boolean | null; disable_device_pairing?: boolean | null; - name?: string | null; - token?: string | null; - url?: string | null; - workspace_root?: string | null; } diff --git a/frontend/src/api/generated/model/gatewaysStatusResponse.ts b/frontend/src/api/generated/model/gatewaysStatusResponse.ts index cea5a7a..0c591e1 100644 --- a/frontend/src/api/generated/model/gatewaysStatusResponse.ts +++ b/frontend/src/api/generated/model/gatewaysStatusResponse.ts @@ -10,10 +10,10 @@ */ export interface GatewaysStatusResponse { connected: boolean; - error?: string | null; gateway_url: string; + sessions_count?: number | null; + sessions?: unknown[] | null; main_session?: unknown | null; main_session_error?: string | null; - sessions?: unknown[] | null; - sessions_count?: number | null; + error?: string | null; } diff --git a/frontend/src/api/generated/model/getForgejoHeatmapApiV1ForgejoHeatmapGetParams.ts b/frontend/src/api/generated/model/getForgejoHeatmapApiV1ForgejoHeatmapGetParams.ts new file mode 100644 index 0000000..43af8e8 --- /dev/null +++ b/frontend/src/api/generated/model/getForgejoHeatmapApiV1ForgejoHeatmapGetParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type GetForgejoHeatmapApiV1ForgejoHeatmapGetParams = { + /** + * Filter by organisation ID + */ + organization_id?: string | null; +}; diff --git a/frontend/src/api/generated/model/getForgejoMetricsApiV1ForgejoMetricsGetParams.ts b/frontend/src/api/generated/model/getForgejoMetricsApiV1ForgejoMetricsGetParams.ts new file mode 100644 index 0000000..a8a5448 --- /dev/null +++ b/frontend/src/api/generated/model/getForgejoMetricsApiV1ForgejoMetricsGetParams.ts @@ -0,0 +1,27 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type GetForgejoMetricsApiV1ForgejoMetricsGetParams = { + /** + * Filter by organization ID + */ + organization_id?: string | null; + /** + * Filter by board ID (via linked repositories) + */ + board_id?: string | null; + /** + * Filter by specific repository ID + */ + repository_id?: string | null; + /** + * Window (in days) for closed_in_selected_range + * @minimum 1 + * @maximum 365 + */ + closed_range_days?: number; +}; diff --git a/frontend/src/api/generated/model/getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams.ts b/frontend/src/api/generated/model/getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams.ts new file mode 100644 index 0000000..d102492 --- /dev/null +++ b/frontend/src/api/generated/model/getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type GetWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams = + { + max_chars?: number | null; + }; diff --git a/frontend/src/api/generated/model/heatmapDay.ts b/frontend/src/api/generated/model/heatmapDay.ts new file mode 100644 index 0000000..970d4b3 --- /dev/null +++ b/frontend/src/api/generated/model/heatmapDay.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Single day in the issue activity heatmap. + */ +export interface HeatmapDay { + date: string; + count: number; +} diff --git a/frontend/src/api/generated/model/heatmapResponse.ts b/frontend/src/api/generated/model/heatmapResponse.ts new file mode 100644 index 0000000..48122dc --- /dev/null +++ b/frontend/src/api/generated/model/heatmapResponse.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { HeatmapDay } from "./heatmapDay"; + +/** + * Issue activity heatmap for the last 365 days. + */ +export interface HeatmapResponse { + days: HeatmapDay[]; + max_count: number; +} diff --git a/frontend/src/api/generated/model/index.ts b/frontend/src/api/generated/model/index.ts index 437fc1e..7cfb186 100644 --- a/frontend/src/api/generated/model/index.ts +++ b/frontend/src/api/generated/model/index.ts @@ -63,6 +63,10 @@ export * from "./boardOnboardingStart"; export * from "./boardOnboardingUserProfile"; export * from "./boardRead"; export * from "./boardReadSuccessMetrics"; +export * from "./boardRepositoryLinkCreate"; +export * from "./boardRepositoryLinkDeleteResponse"; +export * from "./boardRepositoryLinkRead"; +export * from "./boardRepositoryLinkResponse"; export * from "./boardSnapshot"; export * from "./boardUpdate"; export * from "./boardUpdateSuccessMetrics"; @@ -73,6 +77,7 @@ export * from "./boardWebhookPayloadReadHeaders"; export * from "./boardWebhookPayloadReadPayload"; export * from "./boardWebhookRead"; export * from "./boardWebhookUpdate"; +export * from "./closeIssueResponse"; export * from "./dashboardKpis"; export * from "./dashboardMetrics"; export * from "./dashboardMetricsApiV1MetricsDashboardGetParams"; @@ -90,6 +95,31 @@ export * from "./dashboardWipRangeSeries"; export * from "./dashboardWipRangeSeriesBucket"; export * from "./dashboardWipRangeSeriesRange"; export * from "./dashboardWipSeriesSet"; +export * from "./forgejoConnectionCreate"; +export * from "./forgejoConnectionRead"; +export * from "./forgejoConnectionTestRepo"; +export * from "./forgejoConnectionTestRequest"; +export * from "./forgejoConnectionTestResponse"; +export * from "./forgejoConnectionUpdate"; +export * from "./forgejoConnectionValidationResponse"; +export * from "./forgejoIssueListResponse"; +export * from "./forgejoIssueRead"; +export * from "./forgejoIssueReadAssigneesItem"; +export * from "./forgejoIssueReadLabelsItem"; +export * from "./forgejoIssueReadMilestone"; +export * from "./forgejoRepositoryConnectionInfo"; +export * from "./forgejoRepositoryCreate"; +export * from "./forgejoRepositoryRead"; +export * from "./forgejoRepositoryReadLabelsItem"; +export * from "./forgejoRepositoryUpdate"; +export * from "./forgejoRepositoryValidationResponse"; +export * from "./forgejoWebhookIngestResponse"; +export * from "./gatewayAgentImportCandidate"; +export * from "./gatewayAgentImportPreviewResponse"; +export * from "./gatewayAgentImportReconcileSummary"; +export * from "./gatewayAgentImportRequest"; +export * from "./gatewayAgentImportResponse"; +export * from "./gatewayAgentReconcileError"; export * from "./gatewayCommandsResponse"; export * from "./gatewayCreate"; export * from "./gatewayLeadBroadcastBoardResult"; @@ -113,11 +143,16 @@ export * from "./gatewayTemplatesSyncResult"; export * from "./gatewayUpdate"; export * from "./getBoardGroupSnapshotApiV1BoardGroupsGroupIdSnapshotGetParams"; export * from "./getBoardGroupSnapshotApiV1BoardsBoardIdGroupSnapshotGetParams"; +export * from "./getForgejoHeatmapApiV1ForgejoHeatmapGetParams"; +export * from "./getForgejoMetricsApiV1ForgejoMetricsGetParams"; export * from "./getGatewaySessionApiV1GatewaysSessionsSessionIdGetParams"; export * from "./getSessionHistoryApiV1GatewaysSessionsSessionIdHistoryGetParams"; +export * from "./getWebhookPayloadApiV1AgentBoardsBoardIdWebhooksWebhookIdPayloadsPayloadIdGetParams"; export * from "./healthHealthGet200"; export * from "./healthStatusResponse"; export * from "./healthzHealthzGet200"; +export * from "./heatmapDay"; +export * from "./heatmapResponse"; export * from "./hTTPValidationError"; export * from "./installMarketplaceSkillApiV1SkillsMarketplaceSkillIdInstallPostParams"; export * from "./limitOffsetPageTypeVarCustomizedActivityEventRead"; @@ -144,14 +179,17 @@ export * from "./listApprovalsApiV1BoardsBoardIdApprovalsGetParams"; export * from "./listBoardGroupMemoryApiV1BoardGroupsGroupIdMemoryGetParams"; export * from "./listBoardGroupMemoryForBoardApiV1BoardsBoardIdGroupMemoryGetParams"; export * from "./listBoardGroupsApiV1BoardGroupsGetParams"; +export * from "./listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams"; export * from "./listBoardMemoryApiV1AgentBoardsBoardIdMemoryGetParams"; export * from "./listBoardMemoryApiV1BoardsBoardIdMemoryGetParams"; export * from "./listBoardsApiV1AgentBoardsGetParams"; export * from "./listBoardsApiV1BoardsGetParams"; export * from "./listBoardWebhookPayloadsApiV1BoardsBoardIdWebhooksWebhookIdPayloadsGetParams"; export * from "./listBoardWebhooksApiV1BoardsBoardIdWebhooksGetParams"; +export * from "./listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet200Item"; export * from "./listGatewaysApiV1GatewaysGetParams"; export * from "./listGatewaySessionsApiV1GatewaysSessionsGetParams"; +export * from "./listIssuesApiV1ForgejoIssuesGetParams"; export * from "./listMarketplaceSkillsApiV1SkillsMarketplaceGetParams"; export * from "./listOrgInvitesApiV1OrganizationsMeInvitesGetParams"; export * from "./listOrgMembersApiV1OrganizationsMeMembersGetParams"; @@ -169,6 +207,10 @@ export * from "./marketplaceSkillCardReadMetadata"; export * from "./marketplaceSkillCreate"; export * from "./marketplaceSkillRead"; export * from "./marketplaceSkillReadMetadata"; +export * from "./metricsResponse"; +export * from "./metricsResponseLastSyncTimestamps"; +export * from "./metricsResponseSyncErrorCounts"; +export * from "./modelUsageEntry"; export * from "./okResponse"; export * from "./organizationActiveUpdate"; export * from "./organizationBoardAccessRead"; @@ -184,6 +226,12 @@ export * from "./organizationMemberUpdate"; export * from "./organizationRead"; export * from "./organizationUserRead"; export * from "./readyzReadyzGet200"; +export * from "./runtimeUsageBurnRate"; +export * from "./runtimeUsageCurrent"; +export * from "./runtimeUsagePredictions"; +export * from "./runtimeUsageResponse"; +export * from "./runtimeUsageResponsePerModel"; +export * from "./runtimeUsageWindow"; export * from "./searchApiV1SoulsDirectorySearchGetParams"; export * from "./sendGatewaySessionMessageApiV1GatewaysSessionsSessionIdMessagePostParams"; export * from "./skillPackCreate"; @@ -203,6 +251,7 @@ export * from "./streamBoardMemoryApiV1BoardsBoardIdMemoryStreamGetParams"; export * from "./streamTaskCommentFeedApiV1ActivityTaskCommentsStreamGetParams"; export * from "./streamTasksApiV1BoardsBoardIdTasksStreamGetParams"; export * from "./syncGatewayTemplatesApiV1GatewaysGatewayIdTemplatesSyncPostParams"; +export * from "./syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost200"; export * from "./tagCreate"; export * from "./tagRead"; export * from "./tagRef"; @@ -227,9 +276,11 @@ export * from "./taskReadCustomFieldValues"; export * from "./taskReadStatus"; export * from "./taskUpdate"; export * from "./taskUpdateCustomFieldValues"; +export * from "./topSession"; export * from "./uninstallMarketplaceSkillApiV1SkillsMarketplaceSkillIdUninstallPostParams"; export * from "./updateAgentApiV1AgentsAgentIdPatchParams"; export * from "./userRead"; export * from "./userUpdate"; export * from "./validationError"; export * from "./validationErrorCtx"; +export * from "./validationStatus"; diff --git a/frontend/src/api/generated/model/lLMErrorResponse.ts b/frontend/src/api/generated/model/lLMErrorResponse.ts index 683bd0b..f8abaaf 100644 --- a/frontend/src/api/generated/model/lLMErrorResponse.ts +++ b/frontend/src/api/generated/model/lLMErrorResponse.ts @@ -10,12 +10,12 @@ import type { LLMErrorResponseDetail } from "./lLMErrorResponseDetail"; * Standardized LLM-facing error payload used by API contracts. */ export interface LLMErrorResponse { - /** Optional machine-readable error code. */ - code?: string | null; /** Error payload. Agents should rely on `code` when present and default to `message` for fallback display. */ detail: LLMErrorResponseDetail; /** Request correlation identifier injected by middleware. */ request_id?: string | null; + /** Optional machine-readable error code. */ + code?: string | null; /** Whether a client should retry the call after remediating transient conditions. */ retryable?: boolean | null; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityEventRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityEventRead.ts index 78b9086..2cb816c 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityEventRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityEventRead.ts @@ -8,10 +8,10 @@ import type { ActivityEventRead } from "./activityEventRead"; export interface LimitOffsetPageTypeVarCustomizedActivityEventRead { items: ActivityEventRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityTaskCommentFeedItemRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityTaskCommentFeedItemRead.ts index f39d782..bf55070 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityTaskCommentFeedItemRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedActivityTaskCommentFeedItemRead.ts @@ -8,10 +8,10 @@ import type { ActivityTaskCommentFeedItemRead } from "./activityTaskCommentFeedI export interface LimitOffsetPageTypeVarCustomizedActivityTaskCommentFeedItemRead { items: ActivityTaskCommentFeedItemRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedAgentRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedAgentRead.ts index 7c25454..64dba62 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedAgentRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedAgentRead.ts @@ -8,10 +8,10 @@ import type { AgentRead } from "./agentRead"; export interface LimitOffsetPageTypeVarCustomizedAgentRead { items: AgentRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedApprovalRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedApprovalRead.ts index 0d66176..7b912d6 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedApprovalRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedApprovalRead.ts @@ -8,10 +8,10 @@ import type { ApprovalRead } from "./approvalRead"; export interface LimitOffsetPageTypeVarCustomizedApprovalRead { items: ApprovalRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupMemoryRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupMemoryRead.ts index 5588cd9..94e0767 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupMemoryRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupMemoryRead.ts @@ -8,10 +8,10 @@ import type { BoardGroupMemoryRead } from "./boardGroupMemoryRead"; export interface LimitOffsetPageTypeVarCustomizedBoardGroupMemoryRead { items: BoardGroupMemoryRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupRead.ts index ea0633d..95689ab 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardGroupRead.ts @@ -8,10 +8,10 @@ import type { BoardGroupRead } from "./boardGroupRead"; export interface LimitOffsetPageTypeVarCustomizedBoardGroupRead { items: BoardGroupRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardMemoryRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardMemoryRead.ts index fdf4acd..5af7a34 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardMemoryRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardMemoryRead.ts @@ -8,10 +8,10 @@ import type { BoardMemoryRead } from "./boardMemoryRead"; export interface LimitOffsetPageTypeVarCustomizedBoardMemoryRead { items: BoardMemoryRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardRead.ts index d182bde..dffce1a 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardRead.ts @@ -8,10 +8,10 @@ import type { BoardRead } from "./boardRead"; export interface LimitOffsetPageTypeVarCustomizedBoardRead { items: BoardRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookPayloadRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookPayloadRead.ts index e9fe9f7..67191da 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookPayloadRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookPayloadRead.ts @@ -8,10 +8,10 @@ import type { BoardWebhookPayloadRead } from "./boardWebhookPayloadRead"; export interface LimitOffsetPageTypeVarCustomizedBoardWebhookPayloadRead { items: BoardWebhookPayloadRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookRead.ts index 6bde11e..948770b 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedBoardWebhookRead.ts @@ -8,10 +8,10 @@ import type { BoardWebhookRead } from "./boardWebhookRead"; export interface LimitOffsetPageTypeVarCustomizedBoardWebhookRead { items: BoardWebhookRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedGatewayRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedGatewayRead.ts index 3bae8a3..2622874 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedGatewayRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedGatewayRead.ts @@ -8,10 +8,10 @@ import type { GatewayRead } from "./gatewayRead"; export interface LimitOffsetPageTypeVarCustomizedGatewayRead { items: GatewayRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationInviteRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationInviteRead.ts index cb770aa..0640e51 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationInviteRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationInviteRead.ts @@ -8,10 +8,10 @@ import type { OrganizationInviteRead } from "./organizationInviteRead"; export interface LimitOffsetPageTypeVarCustomizedOrganizationInviteRead { items: OrganizationInviteRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationMemberRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationMemberRead.ts index f616673..733e3cb 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationMemberRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedOrganizationMemberRead.ts @@ -8,10 +8,10 @@ import type { OrganizationMemberRead } from "./organizationMemberRead"; export interface LimitOffsetPageTypeVarCustomizedOrganizationMemberRead { items: OrganizationMemberRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTagRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTagRead.ts index 521dff8..d1e4e40 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTagRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTagRead.ts @@ -8,10 +8,10 @@ import type { TagRead } from "./tagRead"; export interface LimitOffsetPageTypeVarCustomizedTagRead { items: TagRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskCommentRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskCommentRead.ts index dcb134f..9fcfca2 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskCommentRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskCommentRead.ts @@ -8,10 +8,10 @@ import type { TaskCommentRead } from "./taskCommentRead"; export interface LimitOffsetPageTypeVarCustomizedTaskCommentRead { items: TaskCommentRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskRead.ts b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskRead.ts index 789f482..a22715a 100644 --- a/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskRead.ts +++ b/frontend/src/api/generated/model/limitOffsetPageTypeVarCustomizedTaskRead.ts @@ -8,10 +8,10 @@ import type { TaskRead } from "./taskRead"; export interface LimitOffsetPageTypeVarCustomizedTaskRead { items: TaskRead[]; + /** @minimum 0 */ + total: number; /** @minimum 1 */ limit: number; /** @minimum 0 */ offset: number; - /** @minimum 0 */ - total: number; } diff --git a/frontend/src/api/generated/model/listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams.ts b/frontend/src/api/generated/model/listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams.ts new file mode 100644 index 0000000..0295195 --- /dev/null +++ b/frontend/src/api/generated/model/listBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams.ts @@ -0,0 +1,28 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type ListBoardIssuesApiV1AgentBoardsBoardIdGitIssuesGetParams = { + /** + * Filter by issue state (open/closed) + */ + state?: string | null; + /** + * Search in title/body + */ + search?: string | null; + /** + * Page number + * @minimum 1 + */ + page?: number; + /** + * Items per page + * @minimum 1 + * @maximum 100 + */ + limit?: number; +}; diff --git a/frontend/src/api/generated/model/listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet200Item.ts b/frontend/src/api/generated/model/listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet200Item.ts new file mode 100644 index 0000000..78c16a7 --- /dev/null +++ b/frontend/src/api/generated/model/listConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet200Item.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type ListConnectionReposApiV1ForgejoConnectionsConnectionIdReposGet200Item = + { [key: string]: unknown }; diff --git a/frontend/src/api/generated/model/listIssuesApiV1ForgejoIssuesGetParams.ts b/frontend/src/api/generated/model/listIssuesApiV1ForgejoIssuesGetParams.ts new file mode 100644 index 0000000..674f8b0 --- /dev/null +++ b/frontend/src/api/generated/model/listIssuesApiV1ForgejoIssuesGetParams.ts @@ -0,0 +1,44 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type ListIssuesApiV1ForgejoIssuesGetParams = { + /** + * Filter by repository ID + */ + repository_id?: string | null; + /** + * Filter by board ID (returns issues from all repos linked to this board) + */ + board_id?: string | null; + /** + * Filter by state (open, closed) + */ + state?: string | null; + /** + * Filter by label name + */ + label?: string | null; + /** + * Filter by assignee login + */ + assignee?: string | null; + /** + * Search in title and body + */ + search?: string | null; + /** + * Page number + * @minimum 1 + */ + page?: number; + /** + * Items per page + * @minimum 1 + * @maximum 100 + */ + limit?: number; +}; diff --git a/frontend/src/api/generated/model/marketplaceSkillActionResponse.ts b/frontend/src/api/generated/model/marketplaceSkillActionResponse.ts index 218a078..5b08162 100644 --- a/frontend/src/api/generated/model/marketplaceSkillActionResponse.ts +++ b/frontend/src/api/generated/model/marketplaceSkillActionResponse.ts @@ -9,8 +9,8 @@ * Install/uninstall action response payload. */ export interface MarketplaceSkillActionResponse { - gateway_id: string; - installed: boolean; ok?: boolean; skill_id: string; + gateway_id: string; + installed: boolean; } diff --git a/frontend/src/api/generated/model/marketplaceSkillCardRead.ts b/frontend/src/api/generated/model/marketplaceSkillCardRead.ts index 9d674fe..1505107 100644 --- a/frontend/src/api/generated/model/marketplaceSkillCardRead.ts +++ b/frontend/src/api/generated/model/marketplaceSkillCardRead.ts @@ -10,17 +10,17 @@ import type { MarketplaceSkillCardReadMetadata } from "./marketplaceSkillCardRea * Marketplace card payload with gateway-specific install state. */ export interface MarketplaceSkillCardRead { - category?: string | null; - created_at: string; - description?: string | null; id: string; - installed: boolean; - installed_at?: string | null; - metadata?: MarketplaceSkillCardReadMetadata; - name: string; organization_id: string; + name: string; + description?: string | null; + category?: string | null; risk?: string | null; source?: string | null; source_url: string; + metadata?: MarketplaceSkillCardReadMetadata; + created_at: string; updated_at: string; + installed: boolean; + installed_at?: string | null; } diff --git a/frontend/src/api/generated/model/marketplaceSkillCreate.ts b/frontend/src/api/generated/model/marketplaceSkillCreate.ts index 8b9f676..7c3c038 100644 --- a/frontend/src/api/generated/model/marketplaceSkillCreate.ts +++ b/frontend/src/api/generated/model/marketplaceSkillCreate.ts @@ -9,8 +9,8 @@ * Payload used to register a skill URL in the organization marketplace. */ export interface MarketplaceSkillCreate { - description?: string | null; - name?: string | null; /** @minLength 1 */ source_url: string; + name?: string | null; + description?: string | null; } diff --git a/frontend/src/api/generated/model/marketplaceSkillRead.ts b/frontend/src/api/generated/model/marketplaceSkillRead.ts index 60e860b..096f53b 100644 --- a/frontend/src/api/generated/model/marketplaceSkillRead.ts +++ b/frontend/src/api/generated/model/marketplaceSkillRead.ts @@ -10,15 +10,15 @@ import type { MarketplaceSkillReadMetadata } from "./marketplaceSkillReadMetadat * Serialized marketplace skill catalog record. */ export interface MarketplaceSkillRead { - category?: string | null; - created_at: string; - description?: string | null; id: string; - metadata?: MarketplaceSkillReadMetadata; - name: string; organization_id: string; + name: string; + description?: string | null; + category?: string | null; risk?: string | null; source?: string | null; source_url: string; + metadata?: MarketplaceSkillReadMetadata; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/metricsResponse.ts b/frontend/src/api/generated/model/metricsResponse.ts new file mode 100644 index 0000000..0da6a18 --- /dev/null +++ b/frontend/src/api/generated/model/metricsResponse.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { MetricsResponseLastSyncTimestamps } from "./metricsResponseLastSyncTimestamps"; +import type { MetricsResponseSyncErrorCounts } from "./metricsResponseSyncErrorCounts"; + +/** + * Generic metrics response wrapper. + */ +export interface MetricsResponse { + open_issues?: number; + closed_issues?: number; + closed_in_selected_range?: number; + selected_range_days?: number; + closed_last_7_days?: number; + closed_last_30_days?: number; + stale_open_issues?: number; + repositories_synced?: number; + repository_sync_error_count?: number; + last_sync_timestamps?: MetricsResponseLastSyncTimestamps; + sync_error_counts?: MetricsResponseSyncErrorCounts; +} diff --git a/frontend/src/api/generated/model/metricsResponseLastSyncTimestamps.ts b/frontend/src/api/generated/model/metricsResponseLastSyncTimestamps.ts new file mode 100644 index 0000000..5e12372 --- /dev/null +++ b/frontend/src/api/generated/model/metricsResponseLastSyncTimestamps.ts @@ -0,0 +1,8 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type MetricsResponseLastSyncTimestamps = { [key: string]: string }; diff --git a/frontend/src/api/generated/model/metricsResponseSyncErrorCounts.ts b/frontend/src/api/generated/model/metricsResponseSyncErrorCounts.ts new file mode 100644 index 0000000..634e171 --- /dev/null +++ b/frontend/src/api/generated/model/metricsResponseSyncErrorCounts.ts @@ -0,0 +1,8 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type MetricsResponseSyncErrorCounts = { [key: string]: number }; diff --git a/frontend/src/api/generated/model/modelUsageEntry.ts b/frontend/src/api/generated/model/modelUsageEntry.ts new file mode 100644 index 0000000..c8f11cd --- /dev/null +++ b/frontend/src/api/generated/model/modelUsageEntry.ts @@ -0,0 +1,23 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Usage and cost breakdown for one provider/model combination. + */ +export interface ModelUsageEntry { + provider: string; + account_key: string; + model: string; + input_tokens: number; + output_tokens: number; + cache_read_tokens: number; + cache_write_tokens: number; + total_tokens: number; + cost_usd: number; + calls: number; + unpriced: boolean; +} diff --git a/frontend/src/api/generated/model/organizationBoardAccessRead.ts b/frontend/src/api/generated/model/organizationBoardAccessRead.ts index 19b75f2..927cc9b 100644 --- a/frontend/src/api/generated/model/organizationBoardAccessRead.ts +++ b/frontend/src/api/generated/model/organizationBoardAccessRead.ts @@ -9,10 +9,10 @@ * Board access payload returned from read endpoints. */ export interface OrganizationBoardAccessRead { + id: string; board_id: string; can_read: boolean; can_write: boolean; created_at: string; - id: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/organizationInviteCreate.ts b/frontend/src/api/generated/model/organizationInviteCreate.ts index ef8e907..6cd653f 100644 --- a/frontend/src/api/generated/model/organizationInviteCreate.ts +++ b/frontend/src/api/generated/model/organizationInviteCreate.ts @@ -10,9 +10,9 @@ import type { OrganizationBoardAccessSpec } from "./organizationBoardAccessSpec" * Payload for creating an organization invite. */ export interface OrganizationInviteCreate { + invited_email: string; + role?: string; all_boards_read?: boolean; all_boards_write?: boolean; board_access?: OrganizationBoardAccessSpec[]; - invited_email: string; - role?: string; } diff --git a/frontend/src/api/generated/model/organizationInviteRead.ts b/frontend/src/api/generated/model/organizationInviteRead.ts index 5cba137..643a269 100644 --- a/frontend/src/api/generated/model/organizationInviteRead.ts +++ b/frontend/src/api/generated/model/organizationInviteRead.ts @@ -9,16 +9,16 @@ * Organization invite payload returned from read endpoints. */ export interface OrganizationInviteRead { - accepted_at?: string | null; - accepted_by_user_id?: string | null; + id: string; + organization_id: string; + invited_email: string; + role: string; all_boards_read: boolean; all_boards_write: boolean; - created_at: string; - created_by_user_id?: string | null; - id: string; - invited_email: string; - organization_id: string; - role: string; token: string; + created_by_user_id?: string | null; + accepted_by_user_id?: string | null; + accepted_at?: string | null; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/organizationListItem.ts b/frontend/src/api/generated/model/organizationListItem.ts index 4c3cc08..2283299 100644 --- a/frontend/src/api/generated/model/organizationListItem.ts +++ b/frontend/src/api/generated/model/organizationListItem.ts @@ -10,7 +10,7 @@ */ export interface OrganizationListItem { id: string; - is_active: boolean; name: string; role: string; + is_active: boolean; } diff --git a/frontend/src/api/generated/model/organizationMemberRead.ts b/frontend/src/api/generated/model/organizationMemberRead.ts index 5e91c9a..9516d4e 100644 --- a/frontend/src/api/generated/model/organizationMemberRead.ts +++ b/frontend/src/api/generated/model/organizationMemberRead.ts @@ -11,14 +11,14 @@ import type { OrganizationUserRead } from "./organizationUserRead"; * Organization member payload including board-level access overrides. */ export interface OrganizationMemberRead { - all_boards_read: boolean; - all_boards_write: boolean; - board_access?: OrganizationBoardAccessRead[]; - created_at: string; id: string; organization_id: string; + user_id: string; role: string; + all_boards_read: boolean; + all_boards_write: boolean; + created_at: string; updated_at: string; user?: OrganizationUserRead | null; - user_id: string; + board_access?: OrganizationBoardAccessRead[]; } diff --git a/frontend/src/api/generated/model/organizationRead.ts b/frontend/src/api/generated/model/organizationRead.ts index 8e45126..7c161e2 100644 --- a/frontend/src/api/generated/model/organizationRead.ts +++ b/frontend/src/api/generated/model/organizationRead.ts @@ -9,8 +9,8 @@ * Organization payload returned by read endpoints. */ export interface OrganizationRead { - created_at: string; id: string; name: string; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/organizationUserRead.ts b/frontend/src/api/generated/model/organizationUserRead.ts index 490973d..592145d 100644 --- a/frontend/src/api/generated/model/organizationUserRead.ts +++ b/frontend/src/api/generated/model/organizationUserRead.ts @@ -9,8 +9,8 @@ * Embedded user fields included in organization member payloads. */ export interface OrganizationUserRead { - email?: string | null; id: string; + email?: string | null; name?: string | null; preferred_name?: string | null; } diff --git a/frontend/src/api/generated/model/runtimeUsageBurnRate.ts b/frontend/src/api/generated/model/runtimeUsageBurnRate.ts new file mode 100644 index 0000000..d1eebaa --- /dev/null +++ b/frontend/src/api/generated/model/runtimeUsageBurnRate.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Recent token and cost velocity (last 60 minutes of the window). + */ +export interface RuntimeUsageBurnRate { + tokens_per_minute: number; + cost_usd_per_minute: number; +} diff --git a/frontend/src/api/generated/model/runtimeUsageCurrent.ts b/frontend/src/api/generated/model/runtimeUsageCurrent.ts new file mode 100644 index 0000000..d4dff98 --- /dev/null +++ b/frontend/src/api/generated/model/runtimeUsageCurrent.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Aggregated totals within the current window. + */ +export interface RuntimeUsageCurrent { + total_cost_usd: number; + total_tokens: number; + total_calls: number; + token_limit?: number | null; + token_pct?: number | null; + cost_limit_usd?: number | null; + cost_pct?: number | null; +} diff --git a/frontend/src/api/generated/model/runtimeUsagePredictions.ts b/frontend/src/api/generated/model/runtimeUsagePredictions.ts new file mode 100644 index 0000000..915a6bc --- /dev/null +++ b/frontend/src/api/generated/model/runtimeUsagePredictions.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Estimates derived from current burn rate and configured limits. + */ +export interface RuntimeUsagePredictions { + time_to_limit_ms?: number | null; + safe: boolean; +} diff --git a/frontend/src/api/generated/model/runtimeUsageResponse.ts b/frontend/src/api/generated/model/runtimeUsageResponse.ts new file mode 100644 index 0000000..38b2e40 --- /dev/null +++ b/frontend/src/api/generated/model/runtimeUsageResponse.ts @@ -0,0 +1,26 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { RuntimeUsageBurnRate } from "./runtimeUsageBurnRate"; +import type { RuntimeUsageCurrent } from "./runtimeUsageCurrent"; +import type { RuntimeUsagePredictions } from "./runtimeUsagePredictions"; +import type { RuntimeUsageResponsePerModel } from "./runtimeUsageResponsePerModel"; +import type { RuntimeUsageWindow } from "./runtimeUsageWindow"; +import type { TopSession } from "./topSession"; + +/** + * Complete runtime usage payload returned by GET /gateways/{id}/runtime-usage. + */ +export interface RuntimeUsageResponse { + generated_at: string; + gateway_id: string; + window: RuntimeUsageWindow; + current: RuntimeUsageCurrent; + burn_rate: RuntimeUsageBurnRate; + predictions: RuntimeUsagePredictions; + per_model: RuntimeUsageResponsePerModel; + top_sessions: TopSession[]; +} diff --git a/frontend/src/api/generated/model/runtimeUsageResponsePerModel.ts b/frontend/src/api/generated/model/runtimeUsageResponsePerModel.ts new file mode 100644 index 0000000..b91d725 --- /dev/null +++ b/frontend/src/api/generated/model/runtimeUsageResponsePerModel.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ +import type { ModelUsageEntry } from "./modelUsageEntry"; + +export type RuntimeUsageResponsePerModel = { [key: string]: ModelUsageEntry }; diff --git a/frontend/src/api/generated/model/runtimeUsageWindow.ts b/frontend/src/api/generated/model/runtimeUsageWindow.ts new file mode 100644 index 0000000..781b90d --- /dev/null +++ b/frontend/src/api/generated/model/runtimeUsageWindow.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Rolling 5-hour usage window metadata. + */ +export interface RuntimeUsageWindow { + key: string; + started_at: string; + resets_at: string; + reset_in_ms: number; +} diff --git a/frontend/src/api/generated/model/skillPackCreate.ts b/frontend/src/api/generated/model/skillPackCreate.ts index a0fa15c..0e63b67 100644 --- a/frontend/src/api/generated/model/skillPackCreate.ts +++ b/frontend/src/api/generated/model/skillPackCreate.ts @@ -10,10 +10,10 @@ import type { SkillPackCreateMetadata } from "./skillPackCreateMetadata"; * Payload used to register a pack URL in the organization. */ export interface SkillPackCreate { - branch?: string; - description?: string | null; - metadata?: SkillPackCreateMetadata; - name?: string | null; /** @minLength 1 */ source_url: string; + name?: string | null; + description?: string | null; + branch?: string; + metadata?: SkillPackCreateMetadata; } diff --git a/frontend/src/api/generated/model/skillPackRead.ts b/frontend/src/api/generated/model/skillPackRead.ts index ece7257..2c0b688 100644 --- a/frontend/src/api/generated/model/skillPackRead.ts +++ b/frontend/src/api/generated/model/skillPackRead.ts @@ -10,14 +10,14 @@ import type { SkillPackReadMetadata } from "./skillPackReadMetadata"; * Serialized skill pack record. */ export interface SkillPackRead { - branch: string; - created_at: string; - description?: string | null; id: string; - metadata?: SkillPackReadMetadata; - name: string; organization_id: string; - skill_count?: number; + name: string; + description?: string | null; source_url: string; + branch: string; + metadata?: SkillPackReadMetadata; + skill_count?: number; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/skillPackSyncResponse.ts b/frontend/src/api/generated/model/skillPackSyncResponse.ts index fdcbbbc..6ac3db7 100644 --- a/frontend/src/api/generated/model/skillPackSyncResponse.ts +++ b/frontend/src/api/generated/model/skillPackSyncResponse.ts @@ -9,10 +9,10 @@ * Pack sync summary payload. */ export interface SkillPackSyncResponse { - created: number; ok?: boolean; pack_id: string; synced: number; + created: number; updated: number; warnings?: string[]; } diff --git a/frontend/src/api/generated/model/soulUpdateRequest.ts b/frontend/src/api/generated/model/soulUpdateRequest.ts index 4e0e840..7d7865a 100644 --- a/frontend/src/api/generated/model/soulUpdateRequest.ts +++ b/frontend/src/api/generated/model/soulUpdateRequest.ts @@ -10,6 +10,6 @@ */ export interface SoulUpdateRequest { content: string; - reason?: string | null; source_url?: string | null; + reason?: string | null; } diff --git a/frontend/src/api/generated/model/soulsDirectoryMarkdownResponse.ts b/frontend/src/api/generated/model/soulsDirectoryMarkdownResponse.ts index a7af0d7..e10e454 100644 --- a/frontend/src/api/generated/model/soulsDirectoryMarkdownResponse.ts +++ b/frontend/src/api/generated/model/soulsDirectoryMarkdownResponse.ts @@ -9,7 +9,7 @@ * Response payload containing rendered markdown for a soul. */ export interface SoulsDirectoryMarkdownResponse { - content: string; handle: string; slug: string; + content: string; } diff --git a/frontend/src/api/generated/model/soulsDirectorySoulRef.ts b/frontend/src/api/generated/model/soulsDirectorySoulRef.ts index 6c1bb0a..01bdf80 100644 --- a/frontend/src/api/generated/model/soulsDirectorySoulRef.ts +++ b/frontend/src/api/generated/model/soulsDirectorySoulRef.ts @@ -10,7 +10,7 @@ */ export interface SoulsDirectorySoulRef { handle: string; + slug: string; page_url: string; raw_md_url: string; - slug: string; } diff --git a/frontend/src/api/generated/model/syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost200.ts b/frontend/src/api/generated/model/syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost200.ts new file mode 100644 index 0000000..54ff807 --- /dev/null +++ b/frontend/src/api/generated/model/syncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost200.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +export type SyncRepositoryIssuesApiV1ForgejoRepositoriesRepositoryIdSyncPost200 = + { [key: string]: number }; diff --git a/frontend/src/api/generated/model/tagCreate.ts b/frontend/src/api/generated/model/tagCreate.ts index 9c75472..5c5575c 100644 --- a/frontend/src/api/generated/model/tagCreate.ts +++ b/frontend/src/api/generated/model/tagCreate.ts @@ -9,9 +9,9 @@ * Payload for creating a tag. */ export interface TagCreate { - color?: string; - description?: string | null; /** @minLength 1 */ name: string; slug?: string | null; + color?: string; + description?: string | null; } diff --git a/frontend/src/api/generated/model/tagRead.ts b/frontend/src/api/generated/model/tagRead.ts index af1d3bd..4959032 100644 --- a/frontend/src/api/generated/model/tagRead.ts +++ b/frontend/src/api/generated/model/tagRead.ts @@ -9,13 +9,13 @@ * Tag payload returned from API endpoints. */ export interface TagRead { + name: string; + slug: string; color?: string; - created_at: string; description?: string | null; id: string; - name: string; organization_id: string; - slug: string; task_count?: number; + created_at: string; updated_at: string; } diff --git a/frontend/src/api/generated/model/tagRef.ts b/frontend/src/api/generated/model/tagRef.ts index 9b7d745..2493c4f 100644 --- a/frontend/src/api/generated/model/tagRef.ts +++ b/frontend/src/api/generated/model/tagRef.ts @@ -9,8 +9,8 @@ * Compact tag representation embedded in task payloads. */ export interface TagRef { - color: string; id: string; name: string; slug: string; + color: string; } diff --git a/frontend/src/api/generated/model/tagUpdate.ts b/frontend/src/api/generated/model/tagUpdate.ts index 4a18b9d..7877bcb 100644 --- a/frontend/src/api/generated/model/tagUpdate.ts +++ b/frontend/src/api/generated/model/tagUpdate.ts @@ -9,8 +9,8 @@ * Payload for partial tag updates. */ export interface TagUpdate { - color?: string | null; - description?: string | null; name?: string | null; slug?: string | null; + color?: string | null; + description?: string | null; } diff --git a/frontend/src/api/generated/model/taskCardRead.ts b/frontend/src/api/generated/model/taskCardRead.ts index 0202522..67a51b9 100644 --- a/frontend/src/api/generated/model/taskCardRead.ts +++ b/frontend/src/api/generated/model/taskCardRead.ts @@ -12,25 +12,25 @@ import type { TaskCardReadStatus } from "./taskCardReadStatus"; * Task read model enriched with assignee and approval counters. */ export interface TaskCardRead { + title: string; + description?: string | null; + status?: TaskCardReadStatus; + priority?: string; + due_at?: string | null; + assigned_agent_id?: string | null; + depends_on_task_ids?: string[]; + tag_ids?: string[]; + id: string; + board_id: string | null; + created_by_user_id: string | null; + in_progress_at: string | null; + created_at: string; + updated_at: string; + blocked_by_task_ids?: string[]; + is_blocked?: boolean; + tags?: TagRef[]; + custom_field_values?: TaskCardReadCustomFieldValues; + assignee?: string | null; approvals_count?: number; approvals_pending_count?: number; - assigned_agent_id?: string | null; - assignee?: string | null; - blocked_by_task_ids?: string[]; - board_id: string | null; - created_at: string; - created_by_user_id: string | null; - custom_field_values?: TaskCardReadCustomFieldValues; - depends_on_task_ids?: string[]; - description?: string | null; - due_at?: string | null; - id: string; - in_progress_at: string | null; - is_blocked?: boolean; - priority?: string; - status?: TaskCardReadStatus; - tag_ids?: string[]; - tags?: TagRef[]; - title: string; - updated_at: string; } diff --git a/frontend/src/api/generated/model/taskCommentRead.ts b/frontend/src/api/generated/model/taskCommentRead.ts index faec431..689f082 100644 --- a/frontend/src/api/generated/model/taskCommentRead.ts +++ b/frontend/src/api/generated/model/taskCommentRead.ts @@ -9,9 +9,9 @@ * Task comment payload returned from read endpoints. */ export interface TaskCommentRead { - agent_id: string | null; - created_at: string; id: string; message: string | null; + agent_id: string | null; task_id: string | null; + created_at: string; } diff --git a/frontend/src/api/generated/model/taskCreate.ts b/frontend/src/api/generated/model/taskCreate.ts index a8572c2..a3e2f7e 100644 --- a/frontend/src/api/generated/model/taskCreate.ts +++ b/frontend/src/api/generated/model/taskCreate.ts @@ -11,14 +11,14 @@ import type { TaskCreateStatus } from "./taskCreateStatus"; * Payload for creating a task. */ export interface TaskCreate { + title: string; + description?: string | null; + status?: TaskCreateStatus; + priority?: string; + due_at?: string | null; assigned_agent_id?: string | null; + depends_on_task_ids?: string[]; + tag_ids?: string[]; created_by_user_id?: string | null; custom_field_values?: TaskCreateCustomFieldValues; - depends_on_task_ids?: string[]; - description?: string | null; - due_at?: string | null; - priority?: string; - status?: TaskCreateStatus; - tag_ids?: string[]; - title: string; } diff --git a/frontend/src/api/generated/model/taskCustomFieldDefinitionCreate.ts b/frontend/src/api/generated/model/taskCustomFieldDefinitionCreate.ts index b348616..4a88dc9 100644 --- a/frontend/src/api/generated/model/taskCustomFieldDefinitionCreate.ts +++ b/frontend/src/api/generated/model/taskCustomFieldDefinitionCreate.ts @@ -11,15 +11,15 @@ import type { TaskCustomFieldDefinitionCreateUiVisibility } from "./taskCustomFi * Payload for creating a task custom field definition. */ export interface TaskCustomFieldDefinitionCreate { - /** @minItems 1 */ - board_ids: string[]; - default_value?: unknown | null; - description?: string | null; /** @minLength 1 */ field_key: string; - field_type?: TaskCustomFieldDefinitionCreateFieldType; label?: string | null; - required?: boolean; + field_type?: TaskCustomFieldDefinitionCreateFieldType; ui_visibility?: TaskCustomFieldDefinitionCreateUiVisibility; validation_regex?: string | null; + description?: string | null; + required?: boolean; + default_value?: unknown | null; + /** @minItems 1 */ + board_ids: string[]; } diff --git a/frontend/src/api/generated/model/taskCustomFieldDefinitionRead.ts b/frontend/src/api/generated/model/taskCustomFieldDefinitionRead.ts index 52c8066..2063ba0 100644 --- a/frontend/src/api/generated/model/taskCustomFieldDefinitionRead.ts +++ b/frontend/src/api/generated/model/taskCustomFieldDefinitionRead.ts @@ -11,17 +11,17 @@ import type { TaskCustomFieldDefinitionReadUiVisibility } from "./taskCustomFiel * Payload returned for custom field definitions. */ export interface TaskCustomFieldDefinitionRead { + field_key: string; + label: string; + field_type: TaskCustomFieldDefinitionReadFieldType; + ui_visibility: TaskCustomFieldDefinitionReadUiVisibility; + validation_regex?: string | null; + description?: string | null; + required?: boolean; + default_value?: unknown | null; + id: string; + organization_id: string; board_ids?: string[]; created_at: string; - default_value?: unknown | null; - description?: string | null; - field_key: string; - field_type: TaskCustomFieldDefinitionReadFieldType; - id: string; - label: string; - organization_id: string; - required?: boolean; - ui_visibility: TaskCustomFieldDefinitionReadUiVisibility; updated_at: string; - validation_regex?: string | null; } diff --git a/frontend/src/api/generated/model/taskCustomFieldDefinitionUpdate.ts b/frontend/src/api/generated/model/taskCustomFieldDefinitionUpdate.ts index 7beeb43..68e2817 100644 --- a/frontend/src/api/generated/model/taskCustomFieldDefinitionUpdate.ts +++ b/frontend/src/api/generated/model/taskCustomFieldDefinitionUpdate.ts @@ -9,9 +9,7 @@ * Payload for editing an existing task custom field definition. */ export interface TaskCustomFieldDefinitionUpdate { - board_ids?: string[] | null; - default_value?: unknown | null; - description?: string | null; + label?: string | null; field_type?: | "text" | "text_long" @@ -23,8 +21,10 @@ export interface TaskCustomFieldDefinitionUpdate { | "url" | "json" | null; - label?: string | null; - required?: boolean | null; ui_visibility?: "always" | "if_set" | "hidden" | null; validation_regex?: string | null; + description?: string | null; + required?: boolean | null; + default_value?: unknown | null; + board_ids?: string[] | null; } diff --git a/frontend/src/api/generated/model/taskRead.ts b/frontend/src/api/generated/model/taskRead.ts index 5d87441..25c21d8 100644 --- a/frontend/src/api/generated/model/taskRead.ts +++ b/frontend/src/api/generated/model/taskRead.ts @@ -12,22 +12,22 @@ import type { TaskReadStatus } from "./taskReadStatus"; * Task payload returned from read endpoints. */ export interface TaskRead { - assigned_agent_id?: string | null; - blocked_by_task_ids?: string[]; - board_id: string | null; - created_at: string; - created_by_user_id: string | null; - custom_field_values?: TaskReadCustomFieldValues; - depends_on_task_ids?: string[]; - description?: string | null; - due_at?: string | null; - id: string; - in_progress_at: string | null; - is_blocked?: boolean; - priority?: string; - status?: TaskReadStatus; - tag_ids?: string[]; - tags?: TagRef[]; title: string; + description?: string | null; + status?: TaskReadStatus; + priority?: string; + due_at?: string | null; + assigned_agent_id?: string | null; + depends_on_task_ids?: string[]; + tag_ids?: string[]; + id: string; + board_id: string | null; + created_by_user_id: string | null; + in_progress_at: string | null; + created_at: string; updated_at: string; + blocked_by_task_ids?: string[]; + is_blocked?: boolean; + tags?: TagRef[]; + custom_field_values?: TaskReadCustomFieldValues; } diff --git a/frontend/src/api/generated/model/taskUpdate.ts b/frontend/src/api/generated/model/taskUpdate.ts index ddaa993..7476476 100644 --- a/frontend/src/api/generated/model/taskUpdate.ts +++ b/frontend/src/api/generated/model/taskUpdate.ts @@ -10,14 +10,14 @@ import type { TaskUpdateCustomFieldValues } from "./taskUpdateCustomFieldValues" * Payload for partial task updates. */ export interface TaskUpdate { - assigned_agent_id?: string | null; - comment?: string | null; - custom_field_values?: TaskUpdateCustomFieldValues; - depends_on_task_ids?: string[] | null; - description?: string | null; - due_at?: string | null; - priority?: string | null; - status?: "inbox" | "in_progress" | "review" | "done" | null; - tag_ids?: string[] | null; title?: string | null; + description?: string | null; + status?: "inbox" | "in_progress" | "review" | "done" | null; + priority?: string | null; + due_at?: string | null; + assigned_agent_id?: string | null; + depends_on_task_ids?: string[] | null; + tag_ids?: string[] | null; + custom_field_values?: TaskUpdateCustomFieldValues; + comment?: string | null; } diff --git a/frontend/src/api/generated/model/topSession.ts b/frontend/src/api/generated/model/topSession.ts new file mode 100644 index 0000000..5f9e0e0 --- /dev/null +++ b/frontend/src/api/generated/model/topSession.ts @@ -0,0 +1,18 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Summary row for one session, sorted by cost descending. + */ +export interface TopSession { + session_id: string; + label?: string | null; + model?: string | null; + cost_usd: number; + total_tokens: number; + updated_at?: string | null; +} diff --git a/frontend/src/api/generated/model/userRead.ts b/frontend/src/api/generated/model/userRead.ts index 1a75f6a..6082df9 100644 --- a/frontend/src/api/generated/model/userRead.ts +++ b/frontend/src/api/generated/model/userRead.ts @@ -11,22 +11,22 @@ export interface UserRead { /** External auth provider user identifier (Clerk). */ clerk_user_id: string; - /** Additional context used by the system for personalization. */ - context?: string | null; /** Primary email address for the user. */ email?: string | null; - /** Internal user UUID. */ - id: string; - /** Whether this user has tenant-wide super-admin privileges. */ - is_super_admin: boolean; /** Full display name. */ name?: string | null; - /** Internal notes for operators. */ - notes?: string | null; /** Preferred short name used in UI. */ preferred_name?: string | null; /** Preferred pronouns. */ pronouns?: string | null; /** IANA timezone identifier. */ timezone?: string | null; + /** Internal notes for operators. */ + notes?: string | null; + /** Additional context used by the system for personalization. */ + context?: string | null; + /** Internal user UUID. */ + id: string; + /** Whether this user has tenant-wide super-admin privileges. */ + is_super_admin: boolean; } diff --git a/frontend/src/api/generated/model/userUpdate.ts b/frontend/src/api/generated/model/userUpdate.ts index cc9ab99..7e19638 100644 --- a/frontend/src/api/generated/model/userUpdate.ts +++ b/frontend/src/api/generated/model/userUpdate.ts @@ -9,10 +9,10 @@ * Payload for partial user profile updates. */ export interface UserUpdate { - context?: string | null; name?: string | null; - notes?: string | null; preferred_name?: string | null; pronouns?: string | null; timezone?: string | null; + notes?: string | null; + context?: string | null; } diff --git a/frontend/src/api/generated/model/validationError.ts b/frontend/src/api/generated/model/validationError.ts index b40de80..1308b62 100644 --- a/frontend/src/api/generated/model/validationError.ts +++ b/frontend/src/api/generated/model/validationError.ts @@ -7,9 +7,9 @@ import type { ValidationErrorCtx } from "./validationErrorCtx"; export interface ValidationError { - ctx?: ValidationErrorCtx; - input?: unknown; loc: (string | number)[]; msg: string; type: string; + input?: unknown; + ctx?: ValidationErrorCtx; } diff --git a/frontend/src/api/generated/model/validationStatus.ts b/frontend/src/api/generated/model/validationStatus.ts new file mode 100644 index 0000000..2272d5d --- /dev/null +++ b/frontend/src/api/generated/model/validationStatus.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v8.3.0 🍺 + * Do not edit manually. + * Mission Control API + * OpenAPI spec version: 0.1.0 + */ + +/** + * Validation result status. + */ +export interface ValidationStatus { + ok: boolean; + status: string; + error_message?: string | null; +} diff --git a/frontend/src/api/generated/organizations/organizations.ts b/frontend/src/api/generated/organizations/organizations.ts index cb75633..f330f1c 100644 --- a/frontend/src/api/generated/organizations/organizations.ts +++ b/frontend/src/api/generated/organizations/organizations.ts @@ -165,191 +165,276 @@ export const useCreateOrganizationApiV1OrganizationsPost = < ); }; /** - * Accept an invite and return resulting membership. - * @summary Accept Org Invite + * List organizations where the current user is a member. + * @summary List My Organizations */ -export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse200 = { - data: OrganizationMemberRead; +export type listMyOrganizationsApiV1OrganizationsMeListGetResponse200 = { + data: OrganizationListItem[]; status: 200; }; -export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseSuccess = - acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse200 & { - headers: Headers; - }; -export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseError = - acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse422 & { +export type listMyOrganizationsApiV1OrganizationsMeListGetResponseSuccess = + listMyOrganizationsApiV1OrganizationsMeListGetResponse200 & { headers: Headers; }; +export type listMyOrganizationsApiV1OrganizationsMeListGetResponse = + listMyOrganizationsApiV1OrganizationsMeListGetResponseSuccess; -export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse = - | acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseSuccess - | acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseError; - -export const getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostUrl = () => { - return `/api/v1/organizations/invites/accept`; +export const getListMyOrganizationsApiV1OrganizationsMeListGetUrl = () => { + return `/api/v1/organizations/me/list`; }; -export const acceptOrgInviteApiV1OrganizationsInvitesAcceptPost = async ( - organizationInviteAccept: OrganizationInviteAccept, +export const listMyOrganizationsApiV1OrganizationsMeListGet = async ( options?: RequestInit, -): Promise => { - return customFetch( - getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostUrl(), +): Promise => { + return customFetch( + getListMyOrganizationsApiV1OrganizationsMeListGetUrl(), { ...options, - method: "POST", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(organizationInviteAccept), + method: "GET", }, ); }; -export const getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationOptions = - (options?: { - mutation?: UseMutationOptions< +export const getListMyOrganizationsApiV1OrganizationsMeListGetQueryKey = () => { + return [`/api/v1/organizations/me/list`] as const; +}; + +export const getListMyOrganizationsApiV1OrganizationsMeListGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = unknown, +>(options?: { + query?: Partial< + UseQueryOptions< Awaited< - ReturnType + ReturnType >, TError, - { data: OrganizationInviteAccept }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { data: OrganizationInviteAccept }, - TContext - > => { - const mutationKey = ["acceptOrgInviteApiV1OrganizationsInvitesAcceptPost"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType - >, - { data: OrganizationInviteAccept } - > = (props) => { - const { data } = props ?? {}; - - return acceptOrgInviteApiV1OrganizationsInvitesAcceptPost( - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type AcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationResult = - NonNullable< - Awaited< - ReturnType + TData > >; -export type AcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationBody = - OrganizationInviteAccept; -export type AcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationError = - HTTPValidationError; + request?: SecondParameter; +}) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; -/** - * @summary Accept Org Invite - */ -export const useAcceptOrgInviteApiV1OrganizationsInvitesAcceptPost = < - TError = HTTPValidationError, - TContext = unknown, + const queryKey = + queryOptions?.queryKey ?? + getListMyOrganizationsApiV1OrganizationsMeListGetQueryKey(); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listMyOrganizationsApiV1OrganizationsMeListGet({ + signal, + ...requestOptions, + }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type ListMyOrganizationsApiV1OrganizationsMeListGetQueryResult = + NonNullable< + Awaited> + >; +export type ListMyOrganizationsApiV1OrganizationsMeListGetQueryError = unknown; + +export function useListMyOrganizationsApiV1OrganizationsMeListGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListMyOrganizationsApiV1OrganizationsMeListGet< + TData = Awaited< + ReturnType + >, + TError = unknown, >( options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType - >, - TError, - { data: OrganizationInviteAccept }, - TContext + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListMyOrganizationsApiV1OrganizationsMeListGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > >; request?: SecondParameter; }, queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { data: OrganizationInviteAccept }, - TContext -> => { - return useMutation( - getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationOptions( - options, - ), - queryClient, - ); +): UseQueryResult & { + queryKey: DataTag; }; /** - * Delete the active organization and related entities. - * @summary Delete My Org + * @summary List My Organizations */ -export type deleteMyOrgApiV1OrganizationsMeDeleteResponse200 = { - data: OkResponse; + +export function useListMyOrganizationsApiV1OrganizationsMeListGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListMyOrganizationsApiV1OrganizationsMeListGetQueryOptions(options); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Set the caller's active organization. + * @summary Set Active Org + */ +export type setActiveOrgApiV1OrganizationsMeActivePatchResponse200 = { + data: OrganizationRead; status: 200; }; -export type deleteMyOrgApiV1OrganizationsMeDeleteResponseSuccess = - deleteMyOrgApiV1OrganizationsMeDeleteResponse200 & { - headers: Headers; - }; -export type deleteMyOrgApiV1OrganizationsMeDeleteResponse = - deleteMyOrgApiV1OrganizationsMeDeleteResponseSuccess; - -export const getDeleteMyOrgApiV1OrganizationsMeDeleteUrl = () => { - return `/api/v1/organizations/me`; +export type setActiveOrgApiV1OrganizationsMeActivePatchResponse422 = { + data: HTTPValidationError; + status: 422; }; -export const deleteMyOrgApiV1OrganizationsMeDelete = async ( +export type setActiveOrgApiV1OrganizationsMeActivePatchResponseSuccess = + setActiveOrgApiV1OrganizationsMeActivePatchResponse200 & { + headers: Headers; + }; +export type setActiveOrgApiV1OrganizationsMeActivePatchResponseError = + setActiveOrgApiV1OrganizationsMeActivePatchResponse422 & { + headers: Headers; + }; + +export type setActiveOrgApiV1OrganizationsMeActivePatchResponse = + | setActiveOrgApiV1OrganizationsMeActivePatchResponseSuccess + | setActiveOrgApiV1OrganizationsMeActivePatchResponseError; + +export const getSetActiveOrgApiV1OrganizationsMeActivePatchUrl = () => { + return `/api/v1/organizations/me/active`; +}; + +export const setActiveOrgApiV1OrganizationsMeActivePatch = async ( + organizationActiveUpdate: OrganizationActiveUpdate, options?: RequestInit, -): Promise => { - return customFetch( - getDeleteMyOrgApiV1OrganizationsMeDeleteUrl(), +): Promise => { + return customFetch( + getSetActiveOrgApiV1OrganizationsMeActivePatchUrl(), { ...options, - method: "DELETE", + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(organizationActiveUpdate), }, ); }; -export const getDeleteMyOrgApiV1OrganizationsMeDeleteMutationOptions = < - TError = unknown, +export const getSetActiveOrgApiV1OrganizationsMeActivePatchMutationOptions = < + TError = HTTPValidationError, TContext = unknown, >(options?: { mutation?: UseMutationOptions< - Awaited>, + Awaited>, TError, - void, + { data: OrganizationActiveUpdate }, TContext >; request?: SecondParameter; }): UseMutationOptions< - Awaited>, + Awaited>, TError, - void, + { data: OrganizationActiveUpdate }, TContext > => { - const mutationKey = ["deleteMyOrgApiV1OrganizationsMeDelete"]; + const mutationKey = ["setActiveOrgApiV1OrganizationsMeActivePatch"]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && @@ -359,46 +444,51 @@ export const getDeleteMyOrgApiV1OrganizationsMeDeleteMutationOptions = < : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< - Awaited>, - void - > = () => { - return deleteMyOrgApiV1OrganizationsMeDelete(requestOptions); + Awaited>, + { data: OrganizationActiveUpdate } + > = (props) => { + const { data } = props ?? {}; + + return setActiveOrgApiV1OrganizationsMeActivePatch(data, requestOptions); }; return { mutationFn, ...mutationOptions }; }; -export type DeleteMyOrgApiV1OrganizationsMeDeleteMutationResult = NonNullable< - Awaited> ->; - -export type DeleteMyOrgApiV1OrganizationsMeDeleteMutationError = unknown; +export type SetActiveOrgApiV1OrganizationsMeActivePatchMutationResult = + NonNullable< + Awaited> + >; +export type SetActiveOrgApiV1OrganizationsMeActivePatchMutationBody = + OrganizationActiveUpdate; +export type SetActiveOrgApiV1OrganizationsMeActivePatchMutationError = + HTTPValidationError; /** - * @summary Delete My Org + * @summary Set Active Org */ -export const useDeleteMyOrgApiV1OrganizationsMeDelete = < - TError = unknown, +export const useSetActiveOrgApiV1OrganizationsMeActivePatch = < + TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< - Awaited>, + Awaited>, TError, - void, + { data: OrganizationActiveUpdate }, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< - Awaited>, + Awaited>, TError, - void, + { data: OrganizationActiveUpdate }, TContext > => { return useMutation( - getDeleteMyOrgApiV1OrganizationsMeDeleteMutationOptions(options), + getSetActiveOrgApiV1OrganizationsMeActivePatchMutationOptions(options), queryClient, ); }; @@ -576,69 +666,55 @@ export function useGetMyOrgApiV1OrganizationsMeGet< } /** - * Set the caller's active organization. - * @summary Set Active Org + * Delete the active organization and related entities. + * @summary Delete My Org */ -export type setActiveOrgApiV1OrganizationsMeActivePatchResponse200 = { - data: OrganizationRead; +export type deleteMyOrgApiV1OrganizationsMeDeleteResponse200 = { + data: OkResponse; status: 200; }; -export type setActiveOrgApiV1OrganizationsMeActivePatchResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type setActiveOrgApiV1OrganizationsMeActivePatchResponseSuccess = - setActiveOrgApiV1OrganizationsMeActivePatchResponse200 & { - headers: Headers; - }; -export type setActiveOrgApiV1OrganizationsMeActivePatchResponseError = - setActiveOrgApiV1OrganizationsMeActivePatchResponse422 & { +export type deleteMyOrgApiV1OrganizationsMeDeleteResponseSuccess = + deleteMyOrgApiV1OrganizationsMeDeleteResponse200 & { headers: Headers; }; +export type deleteMyOrgApiV1OrganizationsMeDeleteResponse = + deleteMyOrgApiV1OrganizationsMeDeleteResponseSuccess; -export type setActiveOrgApiV1OrganizationsMeActivePatchResponse = - | setActiveOrgApiV1OrganizationsMeActivePatchResponseSuccess - | setActiveOrgApiV1OrganizationsMeActivePatchResponseError; - -export const getSetActiveOrgApiV1OrganizationsMeActivePatchUrl = () => { - return `/api/v1/organizations/me/active`; +export const getDeleteMyOrgApiV1OrganizationsMeDeleteUrl = () => { + return `/api/v1/organizations/me`; }; -export const setActiveOrgApiV1OrganizationsMeActivePatch = async ( - organizationActiveUpdate: OrganizationActiveUpdate, +export const deleteMyOrgApiV1OrganizationsMeDelete = async ( options?: RequestInit, -): Promise => { - return customFetch( - getSetActiveOrgApiV1OrganizationsMeActivePatchUrl(), +): Promise => { + return customFetch( + getDeleteMyOrgApiV1OrganizationsMeDeleteUrl(), { ...options, - method: "PATCH", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(organizationActiveUpdate), + method: "DELETE", }, ); }; -export const getSetActiveOrgApiV1OrganizationsMeActivePatchMutationOptions = < - TError = HTTPValidationError, +export const getDeleteMyOrgApiV1OrganizationsMeDeleteMutationOptions = < + TError = unknown, TContext = unknown, >(options?: { mutation?: UseMutationOptions< - Awaited>, + Awaited>, TError, - { data: OrganizationActiveUpdate }, + void, TContext >; request?: SecondParameter; }): UseMutationOptions< - Awaited>, + Awaited>, TError, - { data: OrganizationActiveUpdate }, + void, TContext > => { - const mutationKey = ["setActiveOrgApiV1OrganizationsMeActivePatch"]; + const mutationKey = ["deleteMyOrgApiV1OrganizationsMeDelete"]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && @@ -648,54 +724,1212 @@ export const getSetActiveOrgApiV1OrganizationsMeActivePatchMutationOptions = < : { mutation: { mutationKey }, request: undefined }; const mutationFn: MutationFunction< - Awaited>, - { data: OrganizationActiveUpdate } - > = (props) => { - const { data } = props ?? {}; - - return setActiveOrgApiV1OrganizationsMeActivePatch(data, requestOptions); + Awaited>, + void + > = () => { + return deleteMyOrgApiV1OrganizationsMeDelete(requestOptions); }; return { mutationFn, ...mutationOptions }; }; -export type SetActiveOrgApiV1OrganizationsMeActivePatchMutationResult = - NonNullable< - Awaited> - >; -export type SetActiveOrgApiV1OrganizationsMeActivePatchMutationBody = - OrganizationActiveUpdate; -export type SetActiveOrgApiV1OrganizationsMeActivePatchMutationError = - HTTPValidationError; +export type DeleteMyOrgApiV1OrganizationsMeDeleteMutationResult = NonNullable< + Awaited> +>; + +export type DeleteMyOrgApiV1OrganizationsMeDeleteMutationError = unknown; /** - * @summary Set Active Org + * @summary Delete My Org */ -export const useSetActiveOrgApiV1OrganizationsMeActivePatch = < - TError = HTTPValidationError, +export const useDeleteMyOrgApiV1OrganizationsMeDelete = < + TError = unknown, TContext = unknown, >( options?: { mutation?: UseMutationOptions< - Awaited>, + Awaited>, TError, - { data: OrganizationActiveUpdate }, + void, TContext >; request?: SecondParameter; }, queryClient?: QueryClient, ): UseMutationResult< - Awaited>, + Awaited>, TError, - { data: OrganizationActiveUpdate }, + void, TContext > => { return useMutation( - getSetActiveOrgApiV1OrganizationsMeActivePatchMutationOptions(options), + getDeleteMyOrgApiV1OrganizationsMeDeleteMutationOptions(options), queryClient, ); }; +/** + * Get the caller's membership record in the active organization. + * @summary Get My Membership + */ +export type getMyMembershipApiV1OrganizationsMeMemberGetResponse200 = { + data: OrganizationMemberRead; + status: 200; +}; + +export type getMyMembershipApiV1OrganizationsMeMemberGetResponseSuccess = + getMyMembershipApiV1OrganizationsMeMemberGetResponse200 & { + headers: Headers; + }; +export type getMyMembershipApiV1OrganizationsMeMemberGetResponse = + getMyMembershipApiV1OrganizationsMeMemberGetResponseSuccess; + +export const getGetMyMembershipApiV1OrganizationsMeMemberGetUrl = () => { + return `/api/v1/organizations/me/member`; +}; + +export const getMyMembershipApiV1OrganizationsMeMemberGet = async ( + options?: RequestInit, +): Promise => { + return customFetch( + getGetMyMembershipApiV1OrganizationsMeMemberGetUrl(), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetMyMembershipApiV1OrganizationsMeMemberGetQueryKey = () => { + return [`/api/v1/organizations/me/member`] as const; +}; + +export const getGetMyMembershipApiV1OrganizationsMeMemberGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = unknown, +>(options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; +}) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetMyMembershipApiV1OrganizationsMeMemberGetQueryKey(); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + getMyMembershipApiV1OrganizationsMeMemberGet({ signal, ...requestOptions }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type GetMyMembershipApiV1OrganizationsMeMemberGetQueryResult = + NonNullable< + Awaited> + >; +export type GetMyMembershipApiV1OrganizationsMeMemberGetQueryError = unknown; + +export function useGetMyMembershipApiV1OrganizationsMeMemberGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetMyMembershipApiV1OrganizationsMeMemberGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetMyMembershipApiV1OrganizationsMeMemberGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get My Membership + */ + +export function useGetMyMembershipApiV1OrganizationsMeMemberGet< + TData = Awaited< + ReturnType + >, + TError = unknown, +>( + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetMyMembershipApiV1OrganizationsMeMemberGetQueryOptions(options); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * List members for the active organization. + * @summary List Org Members + */ +export type listOrgMembersApiV1OrganizationsMeMembersGetResponse200 = { + data: LimitOffsetPageTypeVarCustomizedOrganizationMemberRead; + status: 200; +}; + +export type listOrgMembersApiV1OrganizationsMeMembersGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type listOrgMembersApiV1OrganizationsMeMembersGetResponseSuccess = + listOrgMembersApiV1OrganizationsMeMembersGetResponse200 & { + headers: Headers; + }; +export type listOrgMembersApiV1OrganizationsMeMembersGetResponseError = + listOrgMembersApiV1OrganizationsMeMembersGetResponse422 & { + headers: Headers; + }; + +export type listOrgMembersApiV1OrganizationsMeMembersGetResponse = + | listOrgMembersApiV1OrganizationsMeMembersGetResponseSuccess + | listOrgMembersApiV1OrganizationsMeMembersGetResponseError; + +export const getListOrgMembersApiV1OrganizationsMeMembersGetUrl = ( + params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/organizations/me/members?${stringifiedParams}` + : `/api/v1/organizations/me/members`; +}; + +export const listOrgMembersApiV1OrganizationsMeMembersGet = async ( + params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getListOrgMembersApiV1OrganizationsMeMembersGetUrl(params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getListOrgMembersApiV1OrganizationsMeMembersGetQueryKey = ( + params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, +) => { + return [ + `/api/v1/organizations/me/members`, + ...(params ? [params] : []), + ] as const; +}; + +export const getListOrgMembersApiV1OrganizationsMeMembersGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getListOrgMembersApiV1OrganizationsMeMembersGetQueryKey(params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + listOrgMembersApiV1OrganizationsMeMembersGet(params, { + signal, + ...requestOptions, + }); + + return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type ListOrgMembersApiV1OrganizationsMeMembersGetQueryResult = + NonNullable< + Awaited> + >; +export type ListOrgMembersApiV1OrganizationsMeMembersGetQueryError = + HTTPValidationError; + +export function useListOrgMembersApiV1OrganizationsMeMembersGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + params: undefined | ListOrgMembersApiV1OrganizationsMeMembersGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useListOrgMembersApiV1OrganizationsMeMembersGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useListOrgMembersApiV1OrganizationsMeMembersGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary List Org Members + */ + +export function useListOrgMembersApiV1OrganizationsMeMembersGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getListOrgMembersApiV1OrganizationsMeMembersGetQueryOptions( + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Get a specific organization member by id. + * @summary Get Org Member + */ +export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse200 = { + data: OrganizationMemberRead; + status: 200; +}; + +export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseSuccess = + getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse200 & { + headers: Headers; + }; +export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseError = + getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse422 & { + headers: Headers; + }; + +export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse = + | getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseSuccess + | getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseError; + +export const getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetUrl = ( + memberId: string, +) => { + return `/api/v1/organizations/me/members/${memberId}`; +}; + +export const getOrgMemberApiV1OrganizationsMeMembersMemberIdGet = async ( + memberId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetUrl(memberId), + { + ...options, + method: "GET", + }, + ); +}; + +export const getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryKey = ( + memberId: string, +) => { + return [`/api/v1/organizations/me/members/${memberId}`] as const; +}; + +export const getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryOptions = + < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, + >( + memberId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType< + typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet + > + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + ) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryKey(memberId); + + const queryFn: QueryFunction< + Awaited< + ReturnType + > + > = ({ signal }) => + getOrgMemberApiV1OrganizationsMeMembersMemberIdGet(memberId, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!memberId, + ...queryOptions, + } as UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > & { queryKey: DataTag }; + }; + +export type GetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type GetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryError = + HTTPValidationError; + +export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + memberId: string, + options: { + query: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + memberId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType< + typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet + > + >, + TError, + Awaited< + ReturnType< + typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet + > + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + memberId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Get Org Member + */ + +export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + memberId: string, + options?: { + query?: Partial< + UseQueryOptions< + Awaited< + ReturnType + >, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryOptions( + memberId, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + +/** + * Update a member's role in the organization. + * @summary Update Org Member + */ +export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse200 = + { + data: OrganizationMemberRead; + status: 200; + }; + +export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseSuccess = + updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse200 & { + headers: Headers; + }; +export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseError = + updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse422 & { + headers: Headers; + }; + +export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse = + | updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseSuccess + | updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseError; + +export const getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchUrl = ( + memberId: string, +) => { + return `/api/v1/organizations/me/members/${memberId}`; +}; + +export const updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch = async ( + memberId: string, + organizationMemberUpdate: OrganizationMemberUpdate, + options?: RequestInit, +): Promise => { + return customFetch( + getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchUrl(memberId), + { + ...options, + method: "PATCH", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(organizationMemberUpdate), + }, + ); +}; + +export const getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch + > + >, + TError, + { memberId: string; data: OrganizationMemberUpdate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType + >, + TError, + { memberId: string; data: OrganizationMemberUpdate }, + TContext + > => { + const mutationKey = [ + "updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch + > + >, + { memberId: string; data: OrganizationMemberUpdate } + > = (props) => { + const { memberId, data } = props ?? {}; + + return updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch( + memberId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type UpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationResult = + NonNullable< + Awaited< + ReturnType + > + >; +export type UpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationBody = + OrganizationMemberUpdate; +export type UpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationError = + HTTPValidationError; + +/** + * @summary Update Org Member + */ +export const useUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch + > + >, + TError, + { memberId: string; data: OrganizationMemberUpdate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { memberId: string; data: OrganizationMemberUpdate }, + TContext +> => { + return useMutation( + getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Remove a member from the active organization. + * @summary Remove Org Member + */ +export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse200 = + { + data: OkResponse; + status: 200; + }; + +export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseSuccess = + removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse200 & { + headers: Headers; + }; +export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseError = + removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse422 & { + headers: Headers; + }; + +export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse = + | removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseSuccess + | removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseError; + +export const getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteUrl = ( + memberId: string, +) => { + return `/api/v1/organizations/me/members/${memberId}`; +}; + +export const removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete = async ( + memberId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteUrl(memberId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete + > + >, + TError, + { memberId: string }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete + > + >, + TError, + { memberId: string }, + TContext + > => { + const mutationKey = [ + "removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete + > + >, + { memberId: string } + > = (props) => { + const { memberId } = props ?? {}; + + return removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete( + memberId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type RemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete + > + > + >; + +export type RemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Remove Org Member + */ +export const useRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete + > + >, + TError, + { memberId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited< + ReturnType + >, + TError, + { memberId: string }, + TContext +> => { + return useMutation( + getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationOptions( + options, + ), + queryClient, + ); +}; +/** + * Update board-level access settings for a member. + * @summary Update Member Access + */ +export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse200 = + { + data: OrganizationMemberRead; + status: 200; + }; + +export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse422 = + { + data: HTTPValidationError; + status: 422; + }; + +export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseSuccess = + updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse200 & { + headers: Headers; + }; +export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseError = + updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse422 & { + headers: Headers; + }; + +export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse = + + | updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseSuccess + | updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseError; + +export const getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutUrl = + (memberId: string) => { + return `/api/v1/organizations/me/members/${memberId}/access`; + }; + +export const updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut = + async ( + memberId: string, + organizationMemberAccessUpdate: OrganizationMemberAccessUpdate, + options?: RequestInit, + ): Promise => { + return customFetch( + getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutUrl( + memberId, + ), + { + ...options, + method: "PUT", + headers: { "Content-Type": "application/json", ...options?.headers }, + body: JSON.stringify(organizationMemberAccessUpdate), + }, + ); + }; + +export const getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationOptions = + (options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut + > + >, + TError, + { memberId: string; data: OrganizationMemberAccessUpdate }, + TContext + >; + request?: SecondParameter; + }): UseMutationOptions< + Awaited< + ReturnType< + typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut + > + >, + TError, + { memberId: string; data: OrganizationMemberAccessUpdate }, + TContext + > => { + const mutationKey = [ + "updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut", + ]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited< + ReturnType< + typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut + > + >, + { memberId: string; data: OrganizationMemberAccessUpdate } + > = (props) => { + const { memberId, data } = props ?? {}; + + return updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut( + memberId, + data, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; + }; + +export type UpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationResult = + NonNullable< + Awaited< + ReturnType< + typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut + > + > + >; +export type UpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationBody = + OrganizationMemberAccessUpdate; +export type UpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationError = + HTTPValidationError; + +/** + * @summary Update Member Access + */ +export const useUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut = + ( + options?: { + mutation?: UseMutationOptions< + Awaited< + ReturnType< + typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut + > + >, + TError, + { memberId: string; data: OrganizationMemberAccessUpdate }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, + ): UseMutationResult< + Awaited< + ReturnType< + typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut + > + >, + TError, + { memberId: string; data: OrganizationMemberAccessUpdate }, + TContext + > => { + return useMutation( + getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationOptions( + options, + ), + queryClient, + ); + }; /** * List pending invites for the active organization. * @summary List Org Invites @@ -1223,1143 +2457,71 @@ export const useRevokeOrgInviteApiV1OrganizationsMeInvitesInviteIdDelete = < ); }; /** - * List organizations where the current user is a member. - * @summary List My Organizations + * Accept an invite and return resulting membership. + * @summary Accept Org Invite */ -export type listMyOrganizationsApiV1OrganizationsMeListGetResponse200 = { - data: OrganizationListItem[]; - status: 200; -}; - -export type listMyOrganizationsApiV1OrganizationsMeListGetResponseSuccess = - listMyOrganizationsApiV1OrganizationsMeListGetResponse200 & { - headers: Headers; - }; -export type listMyOrganizationsApiV1OrganizationsMeListGetResponse = - listMyOrganizationsApiV1OrganizationsMeListGetResponseSuccess; - -export const getListMyOrganizationsApiV1OrganizationsMeListGetUrl = () => { - return `/api/v1/organizations/me/list`; -}; - -export const listMyOrganizationsApiV1OrganizationsMeListGet = async ( - options?: RequestInit, -): Promise => { - return customFetch( - getListMyOrganizationsApiV1OrganizationsMeListGetUrl(), - { - ...options, - method: "GET", - }, - ); -}; - -export const getListMyOrganizationsApiV1OrganizationsMeListGetQueryKey = () => { - return [`/api/v1/organizations/me/list`] as const; -}; - -export const getListMyOrganizationsApiV1OrganizationsMeListGetQueryOptions = < - TData = Awaited< - ReturnType - >, - TError = unknown, ->(options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; -}) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getListMyOrganizationsApiV1OrganizationsMeListGetQueryKey(); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - listMyOrganizationsApiV1OrganizationsMeListGet({ - signal, - ...requestOptions, - }); - - return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type ListMyOrganizationsApiV1OrganizationsMeListGetQueryResult = - NonNullable< - Awaited> - >; -export type ListMyOrganizationsApiV1OrganizationsMeListGetQueryError = unknown; - -export function useListMyOrganizationsApiV1OrganizationsMeListGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options: { - query: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useListMyOrganizationsApiV1OrganizationsMeListGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useListMyOrganizationsApiV1OrganizationsMeListGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary List My Organizations - */ - -export function useListMyOrganizationsApiV1OrganizationsMeListGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getListMyOrganizationsApiV1OrganizationsMeListGetQueryOptions(options); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Get the caller's membership record in the active organization. - * @summary Get My Membership - */ -export type getMyMembershipApiV1OrganizationsMeMemberGetResponse200 = { +export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse200 = { data: OrganizationMemberRead; status: 200; }; -export type getMyMembershipApiV1OrganizationsMeMemberGetResponseSuccess = - getMyMembershipApiV1OrganizationsMeMemberGetResponse200 & { - headers: Headers; - }; -export type getMyMembershipApiV1OrganizationsMeMemberGetResponse = - getMyMembershipApiV1OrganizationsMeMemberGetResponseSuccess; - -export const getGetMyMembershipApiV1OrganizationsMeMemberGetUrl = () => { - return `/api/v1/organizations/me/member`; -}; - -export const getMyMembershipApiV1OrganizationsMeMemberGet = async ( - options?: RequestInit, -): Promise => { - return customFetch( - getGetMyMembershipApiV1OrganizationsMeMemberGetUrl(), - { - ...options, - method: "GET", - }, - ); -}; - -export const getGetMyMembershipApiV1OrganizationsMeMemberGetQueryKey = () => { - return [`/api/v1/organizations/me/member`] as const; -}; - -export const getGetMyMembershipApiV1OrganizationsMeMemberGetQueryOptions = < - TData = Awaited< - ReturnType - >, - TError = unknown, ->(options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; -}) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getGetMyMembershipApiV1OrganizationsMeMemberGetQueryKey(); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - getMyMembershipApiV1OrganizationsMeMemberGet({ signal, ...requestOptions }); - - return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type GetMyMembershipApiV1OrganizationsMeMemberGetQueryResult = - NonNullable< - Awaited> - >; -export type GetMyMembershipApiV1OrganizationsMeMemberGetQueryError = unknown; - -export function useGetMyMembershipApiV1OrganizationsMeMemberGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options: { - query: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useGetMyMembershipApiV1OrganizationsMeMemberGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useGetMyMembershipApiV1OrganizationsMeMemberGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary Get My Membership - */ - -export function useGetMyMembershipApiV1OrganizationsMeMemberGet< - TData = Awaited< - ReturnType - >, - TError = unknown, ->( - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getGetMyMembershipApiV1OrganizationsMeMemberGetQueryOptions(options); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * List members for the active organization. - * @summary List Org Members - */ -export type listOrgMembersApiV1OrganizationsMeMembersGetResponse200 = { - data: LimitOffsetPageTypeVarCustomizedOrganizationMemberRead; - status: 200; -}; - -export type listOrgMembersApiV1OrganizationsMeMembersGetResponse422 = { +export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse422 = { data: HTTPValidationError; status: 422; }; -export type listOrgMembersApiV1OrganizationsMeMembersGetResponseSuccess = - listOrgMembersApiV1OrganizationsMeMembersGetResponse200 & { +export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseSuccess = + acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse200 & { headers: Headers; }; -export type listOrgMembersApiV1OrganizationsMeMembersGetResponseError = - listOrgMembersApiV1OrganizationsMeMembersGetResponse422 & { +export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseError = + acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse422 & { headers: Headers; }; -export type listOrgMembersApiV1OrganizationsMeMembersGetResponse = - | listOrgMembersApiV1OrganizationsMeMembersGetResponseSuccess - | listOrgMembersApiV1OrganizationsMeMembersGetResponseError; +export type acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponse = + | acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseSuccess + | acceptOrgInviteApiV1OrganizationsInvitesAcceptPostResponseError; -export const getListOrgMembersApiV1OrganizationsMeMembersGetUrl = ( - params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, -) => { - const normalizedParams = new URLSearchParams(); - - Object.entries(params || {}).forEach(([key, value]) => { - if (value !== undefined) { - normalizedParams.append(key, value === null ? "null" : value.toString()); - } - }); - - const stringifiedParams = normalizedParams.toString(); - - return stringifiedParams.length > 0 - ? `/api/v1/organizations/me/members?${stringifiedParams}` - : `/api/v1/organizations/me/members`; +export const getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostUrl = () => { + return `/api/v1/organizations/invites/accept`; }; -export const listOrgMembersApiV1OrganizationsMeMembersGet = async ( - params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, +export const acceptOrgInviteApiV1OrganizationsInvitesAcceptPost = async ( + organizationInviteAccept: OrganizationInviteAccept, options?: RequestInit, -): Promise => { - return customFetch( - getListOrgMembersApiV1OrganizationsMeMembersGetUrl(params), +): Promise => { + return customFetch( + getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostUrl(), { ...options, - method: "GET", - }, - ); -}; - -export const getListOrgMembersApiV1OrganizationsMeMembersGetQueryKey = ( - params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, -) => { - return [ - `/api/v1/organizations/me/members`, - ...(params ? [params] : []), - ] as const; -}; - -export const getListOrgMembersApiV1OrganizationsMeMembersGetQueryOptions = < - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, -) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getListOrgMembersApiV1OrganizationsMeMembersGetQueryKey(params); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - listOrgMembersApiV1OrganizationsMeMembersGet(params, { - signal, - ...requestOptions, - }); - - return { queryKey, queryFn, ...queryOptions } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type ListOrgMembersApiV1OrganizationsMeMembersGetQueryResult = - NonNullable< - Awaited> - >; -export type ListOrgMembersApiV1OrganizationsMeMembersGetQueryError = - HTTPValidationError; - -export function useListOrgMembersApiV1OrganizationsMeMembersGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - params: undefined | ListOrgMembersApiV1OrganizationsMeMembersGetParams, - options: { - query: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useListOrgMembersApiV1OrganizationsMeMembersGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useListOrgMembersApiV1OrganizationsMeMembersGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary List Org Members - */ - -export function useListOrgMembersApiV1OrganizationsMeMembersGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - params?: ListOrgMembersApiV1OrganizationsMeMembersGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getListOrgMembersApiV1OrganizationsMeMembersGetQueryOptions( - params, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Remove a member from the active organization. - * @summary Remove Org Member - */ -export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse200 = - { - data: OkResponse; - status: 200; - }; - -export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse422 = - { - data: HTTPValidationError; - status: 422; - }; - -export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseSuccess = - removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse200 & { - headers: Headers; - }; -export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseError = - removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse422 & { - headers: Headers; - }; - -export type removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponse = - | removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseSuccess - | removeOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteResponseError; - -export const getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteUrl = ( - memberId: string, -) => { - return `/api/v1/organizations/me/members/${memberId}`; -}; - -export const removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete = async ( - memberId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteUrl(memberId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete - > - >, - TError, - { memberId: string }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType< - typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete - > - >, - TError, - { memberId: string }, - TContext - > => { - const mutationKey = [ - "removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType< - typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete - > - >, - { memberId: string } - > = (props) => { - const { memberId } = props ?? {}; - - return removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete( - memberId, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type RemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationResult = - NonNullable< - Awaited< - ReturnType< - typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete - > - > - >; - -export type RemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Remove Org Member - */ -export const useRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof removeOrgMemberApiV1OrganizationsMeMembersMemberIdDelete - > - >, - TError, - { memberId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited< - ReturnType - >, - TError, - { memberId: string }, - TContext -> => { - return useMutation( - getRemoveOrgMemberApiV1OrganizationsMeMembersMemberIdDeleteMutationOptions( - options, - ), - queryClient, - ); -}; -/** - * Get a specific organization member by id. - * @summary Get Org Member - */ -export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse200 = { - data: OrganizationMemberRead; - status: 200; -}; - -export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseSuccess = - getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse200 & { - headers: Headers; - }; -export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseError = - getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse422 & { - headers: Headers; - }; - -export type getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponse = - | getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseSuccess - | getOrgMemberApiV1OrganizationsMeMembersMemberIdGetResponseError; - -export const getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetUrl = ( - memberId: string, -) => { - return `/api/v1/organizations/me/members/${memberId}`; -}; - -export const getOrgMemberApiV1OrganizationsMeMembersMemberIdGet = async ( - memberId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetUrl(memberId), - { - ...options, - method: "GET", - }, - ); -}; - -export const getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryKey = ( - memberId: string, -) => { - return [`/api/v1/organizations/me/members/${memberId}`] as const; -}; - -export const getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryOptions = - < - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, - >( - memberId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType< - typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet - > - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - ) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryKey(memberId); - - const queryFn: QueryFunction< - Awaited< - ReturnType - > - > = ({ signal }) => - getOrgMemberApiV1OrganizationsMeMembersMemberIdGet(memberId, { - signal, - ...requestOptions, - }); - - return { - queryKey, - queryFn, - enabled: !!memberId, - ...queryOptions, - } as UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > & { queryKey: DataTag }; - }; - -export type GetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryResult = - NonNullable< - Awaited< - ReturnType - > - >; -export type GetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryError = - HTTPValidationError; - -export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - memberId: string, - options: { - query: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType< - typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet - > - >, - TError, - Awaited< - ReturnType< - typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet - > - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - memberId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType< - typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet - > - >, - TError, - Awaited< - ReturnType< - typeof getOrgMemberApiV1OrganizationsMeMembersMemberIdGet - > - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - memberId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary Get Org Member - */ - -export function useGetOrgMemberApiV1OrganizationsMeMembersMemberIdGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - memberId: string, - options?: { - query?: Partial< - UseQueryOptions< - Awaited< - ReturnType - >, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getGetOrgMemberApiV1OrganizationsMeMembersMemberIdGetQueryOptions( - memberId, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Update a member's role in the organization. - * @summary Update Org Member - */ -export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse200 = - { - data: OrganizationMemberRead; - status: 200; - }; - -export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse422 = - { - data: HTTPValidationError; - status: 422; - }; - -export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseSuccess = - updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse200 & { - headers: Headers; - }; -export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseError = - updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse422 & { - headers: Headers; - }; - -export type updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponse = - | updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseSuccess - | updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchResponseError; - -export const getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchUrl = ( - memberId: string, -) => { - return `/api/v1/organizations/me/members/${memberId}`; -}; - -export const updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch = async ( - memberId: string, - organizationMemberUpdate: OrganizationMemberUpdate, - options?: RequestInit, -): Promise => { - return customFetch( - getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchUrl(memberId), - { - ...options, - method: "PATCH", + method: "POST", headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(organizationMemberUpdate), + body: JSON.stringify(organizationInviteAccept), }, ); }; -export const getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationOptions = +export const getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationOptions = (options?: { mutation?: UseMutationOptions< Awaited< - ReturnType< - typeof updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch - > + ReturnType >, TError, - { memberId: string; data: OrganizationMemberUpdate }, + { data: OrganizationInviteAccept }, TContext >; request?: SecondParameter; }): UseMutationOptions< Awaited< - ReturnType + ReturnType >, TError, - { memberId: string; data: OrganizationMemberUpdate }, + { data: OrganizationInviteAccept }, TContext > => { - const mutationKey = [ - "updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch", - ]; + const mutationKey = ["acceptOrgInviteApiV1OrganizationsInvitesAcceptPost"]; const { mutation: mutationOptions, request: requestOptions } = options ? options.mutation && "mutationKey" in options.mutation && @@ -2370,16 +2532,13 @@ export const getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationO const mutationFn: MutationFunction< Awaited< - ReturnType< - typeof updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch - > + ReturnType >, - { memberId: string; data: OrganizationMemberUpdate } + { data: OrganizationInviteAccept } > = (props) => { - const { memberId, data } = props ?? {}; + const { data } = props ?? {}; - return updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch( - memberId, + return acceptOrgInviteApiV1OrganizationsInvitesAcceptPost( data, requestOptions, ); @@ -2388,33 +2547,31 @@ export const getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationO return { mutationFn, ...mutationOptions }; }; -export type UpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationResult = +export type AcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationResult = NonNullable< Awaited< - ReturnType + ReturnType > >; -export type UpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationBody = - OrganizationMemberUpdate; -export type UpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationError = +export type AcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationBody = + OrganizationInviteAccept; +export type AcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationError = HTTPValidationError; /** - * @summary Update Org Member + * @summary Accept Org Invite */ -export const useUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch = < +export const useAcceptOrgInviteApiV1OrganizationsInvitesAcceptPost = < TError = HTTPValidationError, TContext = unknown, >( options?: { mutation?: UseMutationOptions< Awaited< - ReturnType< - typeof updateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch - > + ReturnType >, TError, - { memberId: string; data: OrganizationMemberUpdate }, + { data: OrganizationInviteAccept }, TContext >; request?: SecondParameter; @@ -2422,173 +2579,16 @@ export const useUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatch = < queryClient?: QueryClient, ): UseMutationResult< Awaited< - ReturnType + ReturnType >, TError, - { memberId: string; data: OrganizationMemberUpdate }, + { data: OrganizationInviteAccept }, TContext > => { return useMutation( - getUpdateOrgMemberApiV1OrganizationsMeMembersMemberIdPatchMutationOptions( + getAcceptOrgInviteApiV1OrganizationsInvitesAcceptPostMutationOptions( options, ), queryClient, ); }; -/** - * Update board-level access settings for a member. - * @summary Update Member Access - */ -export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse200 = - { - data: OrganizationMemberRead; - status: 200; - }; - -export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse422 = - { - data: HTTPValidationError; - status: 422; - }; - -export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseSuccess = - updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse200 & { - headers: Headers; - }; -export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseError = - updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse422 & { - headers: Headers; - }; - -export type updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponse = - - | updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseSuccess - | updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutResponseError; - -export const getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutUrl = - (memberId: string) => { - return `/api/v1/organizations/me/members/${memberId}/access`; - }; - -export const updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut = - async ( - memberId: string, - organizationMemberAccessUpdate: OrganizationMemberAccessUpdate, - options?: RequestInit, - ): Promise => { - return customFetch( - getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutUrl( - memberId, - ), - { - ...options, - method: "PUT", - headers: { "Content-Type": "application/json", ...options?.headers }, - body: JSON.stringify(organizationMemberAccessUpdate), - }, - ); - }; - -export const getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationOptions = - (options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut - > - >, - TError, - { memberId: string; data: OrganizationMemberAccessUpdate }, - TContext - >; - request?: SecondParameter; - }): UseMutationOptions< - Awaited< - ReturnType< - typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut - > - >, - TError, - { memberId: string; data: OrganizationMemberAccessUpdate }, - TContext - > => { - const mutationKey = [ - "updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut", - ]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited< - ReturnType< - typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut - > - >, - { memberId: string; data: OrganizationMemberAccessUpdate } - > = (props) => { - const { memberId, data } = props ?? {}; - - return updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut( - memberId, - data, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; - }; - -export type UpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationResult = - NonNullable< - Awaited< - ReturnType< - typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut - > - > - >; -export type UpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationBody = - OrganizationMemberAccessUpdate; -export type UpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationError = - HTTPValidationError; - -/** - * @summary Update Member Access - */ -export const useUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut = - ( - options?: { - mutation?: UseMutationOptions< - Awaited< - ReturnType< - typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut - > - >, - TError, - { memberId: string; data: OrganizationMemberAccessUpdate }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, - ): UseMutationResult< - Awaited< - ReturnType< - typeof updateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPut - > - >, - TError, - { memberId: string; data: OrganizationMemberAccessUpdate }, - TContext - > => { - return useMutation( - getUpdateMemberAccessApiV1OrganizationsMeMembersMemberIdAccessPutMutationOptions( - options, - ), - queryClient, - ); - }; diff --git a/frontend/src/api/generated/skills/skills.ts b/frontend/src/api/generated/skills/skills.ts index 1e34e5e..af142e6 100644 --- a/frontend/src/api/generated/skills/skills.ts +++ b/frontend/src/api/generated/skills/skills.ts @@ -1233,126 +1233,6 @@ export const useCreateSkillPackApiV1SkillsPacksPost = < queryClient, ); }; -/** - * Delete one pack source from the organization. - * @summary Delete Skill Pack - */ -export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse200 = { - data: OkResponse; - status: 200; -}; - -export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseSuccess = - deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseError = - deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse = - | deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseSuccess - | deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseError; - -export const getDeleteSkillPackApiV1SkillsPacksPackIdDeleteUrl = ( - packId: string, -) => { - return `/api/v1/skills/packs/${packId}`; -}; - -export const deleteSkillPackApiV1SkillsPacksPackIdDelete = async ( - packId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getDeleteSkillPackApiV1SkillsPacksPackIdDeleteUrl(packId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getDeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { packId: string }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { packId: string }, - TContext -> => { - const mutationKey = ["deleteSkillPackApiV1SkillsPacksPackIdDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { packId: string } - > = (props) => { - const { packId } = props ?? {}; - - return deleteSkillPackApiV1SkillsPacksPackIdDelete(packId, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type DeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationResult = - NonNullable< - Awaited> - >; - -export type DeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Delete Skill Pack - */ -export const useDeleteSkillPackApiV1SkillsPacksPackIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { packId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { packId: string }, - TContext -> => { - return useMutation( - getDeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationOptions(options), - queryClient, - ); -}; /** * Get one skill pack by ID. * @summary Get Skill Pack @@ -1688,6 +1568,126 @@ export const useUpdateSkillPackApiV1SkillsPacksPackIdPatch = < queryClient, ); }; +/** + * Delete one pack source from the organization. + * @summary Delete Skill Pack + */ +export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseSuccess = + deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseError = + deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteSkillPackApiV1SkillsPacksPackIdDeleteResponse = + | deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseSuccess + | deleteSkillPackApiV1SkillsPacksPackIdDeleteResponseError; + +export const getDeleteSkillPackApiV1SkillsPacksPackIdDeleteUrl = ( + packId: string, +) => { + return `/api/v1/skills/packs/${packId}`; +}; + +export const deleteSkillPackApiV1SkillsPacksPackIdDelete = async ( + packId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteSkillPackApiV1SkillsPacksPackIdDeleteUrl(packId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { packId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { packId: string }, + TContext +> => { + const mutationKey = ["deleteSkillPackApiV1SkillsPacksPackIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { packId: string } + > = (props) => { + const { packId } = props ?? {}; + + return deleteSkillPackApiV1SkillsPacksPackIdDelete(packId, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationResult = + NonNullable< + Awaited> + >; + +export type DeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Skill Pack + */ +export const useDeleteSkillPackApiV1SkillsPacksPackIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { packId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { packId: string }, + TContext +> => { + return useMutation( + getDeleteSkillPackApiV1SkillsPacksPackIdDeleteMutationOptions(options), + queryClient, + ); +}; /** * Clone a pack repository and upsert discovered skills from `skills/**\/SKILL.md`. * @summary Sync Skill Pack diff --git a/frontend/src/api/generated/tags/tags.ts b/frontend/src/api/generated/tags/tags.ts index 36278bd..4f2e2a8 100644 --- a/frontend/src/api/generated/tags/tags.ts +++ b/frontend/src/api/generated/tags/tags.ts @@ -360,122 +360,6 @@ export const useCreateTagApiV1TagsPost = < queryClient, ); }; -/** - * Delete a tag and remove all associated tag links. - * @summary Delete Tag - */ -export type deleteTagApiV1TagsTagIdDeleteResponse200 = { - data: OkResponse; - status: 200; -}; - -export type deleteTagApiV1TagsTagIdDeleteResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type deleteTagApiV1TagsTagIdDeleteResponseSuccess = - deleteTagApiV1TagsTagIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteTagApiV1TagsTagIdDeleteResponseError = - deleteTagApiV1TagsTagIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteTagApiV1TagsTagIdDeleteResponse = - | deleteTagApiV1TagsTagIdDeleteResponseSuccess - | deleteTagApiV1TagsTagIdDeleteResponseError; - -export const getDeleteTagApiV1TagsTagIdDeleteUrl = (tagId: string) => { - return `/api/v1/tags/${tagId}`; -}; - -export const deleteTagApiV1TagsTagIdDelete = async ( - tagId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getDeleteTagApiV1TagsTagIdDeleteUrl(tagId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getDeleteTagApiV1TagsTagIdDeleteMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { tagId: string }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { tagId: string }, - TContext -> => { - const mutationKey = ["deleteTagApiV1TagsTagIdDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { tagId: string } - > = (props) => { - const { tagId } = props ?? {}; - - return deleteTagApiV1TagsTagIdDelete(tagId, requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type DeleteTagApiV1TagsTagIdDeleteMutationResult = NonNullable< - Awaited> ->; - -export type DeleteTagApiV1TagsTagIdDeleteMutationError = HTTPValidationError; - -/** - * @summary Delete Tag - */ -export const useDeleteTagApiV1TagsTagIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { tagId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { tagId: string }, - TContext -> => { - return useMutation( - getDeleteTagApiV1TagsTagIdDeleteMutationOptions(options), - queryClient, - ); -}; /** * Get a single tag in the active organization. * @summary Get Tag @@ -792,3 +676,119 @@ export const useUpdateTagApiV1TagsTagIdPatch = < queryClient, ); }; +/** + * Delete a tag and remove all associated tag links. + * @summary Delete Tag + */ +export type deleteTagApiV1TagsTagIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteTagApiV1TagsTagIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type deleteTagApiV1TagsTagIdDeleteResponseSuccess = + deleteTagApiV1TagsTagIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteTagApiV1TagsTagIdDeleteResponseError = + deleteTagApiV1TagsTagIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteTagApiV1TagsTagIdDeleteResponse = + | deleteTagApiV1TagsTagIdDeleteResponseSuccess + | deleteTagApiV1TagsTagIdDeleteResponseError; + +export const getDeleteTagApiV1TagsTagIdDeleteUrl = (tagId: string) => { + return `/api/v1/tags/${tagId}`; +}; + +export const deleteTagApiV1TagsTagIdDelete = async ( + tagId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteTagApiV1TagsTagIdDeleteUrl(tagId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteTagApiV1TagsTagIdDeleteMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { tagId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { tagId: string }, + TContext +> => { + const mutationKey = ["deleteTagApiV1TagsTagIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { tagId: string } + > = (props) => { + const { tagId } = props ?? {}; + + return deleteTagApiV1TagsTagIdDelete(tagId, requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteTagApiV1TagsTagIdDeleteMutationResult = NonNullable< + Awaited> +>; + +export type DeleteTagApiV1TagsTagIdDeleteMutationError = HTTPValidationError; + +/** + * @summary Delete Tag + */ +export const useDeleteTagApiV1TagsTagIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { tagId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { tagId: string }, + TContext +> => { + return useMutation( + getDeleteTagApiV1TagsTagIdDeleteMutationOptions(options), + queryClient, + ); +}; diff --git a/frontend/src/api/generated/tasks/tasks.ts b/frontend/src/api/generated/tasks/tasks.ts index cf1f6ac..1c24641 100644 --- a/frontend/src/api/generated/tasks/tasks.ts +++ b/frontend/src/api/generated/tasks/tasks.ts @@ -40,6 +40,259 @@ import { customFetch } from "../../mutator"; type SecondParameter unknown> = Parameters[1]; +/** + * Stream task and task-comment events as SSE payloads. + * @summary Stream Tasks + */ +export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponse200 = { + data: unknown; + status: 200; +}; + +export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponseSuccess = + streamTasksApiV1BoardsBoardIdTasksStreamGetResponse200 & { + headers: Headers; + }; +export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponseError = + streamTasksApiV1BoardsBoardIdTasksStreamGetResponse422 & { + headers: Headers; + }; + +export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponse = + | streamTasksApiV1BoardsBoardIdTasksStreamGetResponseSuccess + | streamTasksApiV1BoardsBoardIdTasksStreamGetResponseError; + +export const getStreamTasksApiV1BoardsBoardIdTasksStreamGetUrl = ( + boardId: string, + params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, +) => { + const normalizedParams = new URLSearchParams(); + + Object.entries(params || {}).forEach(([key, value]) => { + if (value !== undefined) { + normalizedParams.append(key, value === null ? "null" : value.toString()); + } + }); + + const stringifiedParams = normalizedParams.toString(); + + return stringifiedParams.length > 0 + ? `/api/v1/boards/${boardId}/tasks/stream?${stringifiedParams}` + : `/api/v1/boards/${boardId}/tasks/stream`; +}; + +export const streamTasksApiV1BoardsBoardIdTasksStreamGet = async ( + boardId: string, + params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, + options?: RequestInit, +): Promise => { + return customFetch( + getStreamTasksApiV1BoardsBoardIdTasksStreamGetUrl(boardId, params), + { + ...options, + method: "GET", + }, + ); +}; + +export const getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryKey = ( + boardId: string, + params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, +) => { + return [ + `/api/v1/boards/${boardId}/tasks/stream`, + ...(params ? [params] : []), + ] as const; +}; + +export const getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryOptions = < + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, +) => { + const { query: queryOptions, request: requestOptions } = options ?? {}; + + const queryKey = + queryOptions?.queryKey ?? + getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryKey(boardId, params); + + const queryFn: QueryFunction< + Awaited> + > = ({ signal }) => + streamTasksApiV1BoardsBoardIdTasksStreamGet(boardId, params, { + signal, + ...requestOptions, + }); + + return { + queryKey, + queryFn, + enabled: !!boardId, + ...queryOptions, + } as UseQueryOptions< + Awaited>, + TError, + TData + > & { queryKey: DataTag }; +}; + +export type StreamTasksApiV1BoardsBoardIdTasksStreamGetQueryResult = + NonNullable< + Awaited> + >; +export type StreamTasksApiV1BoardsBoardIdTasksStreamGetQueryError = + HTTPValidationError; + +export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params: undefined | StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, + options: { + query: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + DefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): DefinedUseQueryResult & { + queryKey: DataTag; +}; +export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + > & + Pick< + UndefinedInitialDataOptions< + Awaited< + ReturnType + >, + TError, + Awaited< + ReturnType + > + >, + "initialData" + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +}; +/** + * @summary Stream Tasks + */ + +export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< + TData = Awaited< + ReturnType + >, + TError = HTTPValidationError, +>( + boardId: string, + params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, + options?: { + query?: Partial< + UseQueryOptions< + Awaited>, + TError, + TData + > + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseQueryResult & { + queryKey: DataTag; +} { + const queryOptions = + getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryOptions( + boardId, + params, + options, + ); + + const query = useQuery(queryOptions, queryClient) as UseQueryResult< + TData, + TError + > & { queryKey: DataTag }; + + return { ...query, queryKey: queryOptions.queryKey }; +} + /** * List board tasks with optional status and assignment filters. * @summary List Tasks @@ -402,385 +655,6 @@ export const useCreateTaskApiV1BoardsBoardIdTasksPost = < queryClient, ); }; -/** - * Stream task and task-comment events as SSE payloads. - * @summary Stream Tasks - */ -export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponse200 = { - data: unknown; - status: 200; -}; - -export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponseSuccess = - streamTasksApiV1BoardsBoardIdTasksStreamGetResponse200 & { - headers: Headers; - }; -export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponseError = - streamTasksApiV1BoardsBoardIdTasksStreamGetResponse422 & { - headers: Headers; - }; - -export type streamTasksApiV1BoardsBoardIdTasksStreamGetResponse = - | streamTasksApiV1BoardsBoardIdTasksStreamGetResponseSuccess - | streamTasksApiV1BoardsBoardIdTasksStreamGetResponseError; - -export const getStreamTasksApiV1BoardsBoardIdTasksStreamGetUrl = ( - boardId: string, - params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, -) => { - const normalizedParams = new URLSearchParams(); - - Object.entries(params || {}).forEach(([key, value]) => { - if (value !== undefined) { - normalizedParams.append(key, value === null ? "null" : value.toString()); - } - }); - - const stringifiedParams = normalizedParams.toString(); - - return stringifiedParams.length > 0 - ? `/api/v1/boards/${boardId}/tasks/stream?${stringifiedParams}` - : `/api/v1/boards/${boardId}/tasks/stream`; -}; - -export const streamTasksApiV1BoardsBoardIdTasksStreamGet = async ( - boardId: string, - params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, - options?: RequestInit, -): Promise => { - return customFetch( - getStreamTasksApiV1BoardsBoardIdTasksStreamGetUrl(boardId, params), - { - ...options, - method: "GET", - }, - ); -}; - -export const getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryKey = ( - boardId: string, - params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, -) => { - return [ - `/api/v1/boards/${boardId}/tasks/stream`, - ...(params ? [params] : []), - ] as const; -}; - -export const getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryOptions = < - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, -) => { - const { query: queryOptions, request: requestOptions } = options ?? {}; - - const queryKey = - queryOptions?.queryKey ?? - getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryKey(boardId, params); - - const queryFn: QueryFunction< - Awaited> - > = ({ signal }) => - streamTasksApiV1BoardsBoardIdTasksStreamGet(boardId, params, { - signal, - ...requestOptions, - }); - - return { - queryKey, - queryFn, - enabled: !!boardId, - ...queryOptions, - } as UseQueryOptions< - Awaited>, - TError, - TData - > & { queryKey: DataTag }; -}; - -export type StreamTasksApiV1BoardsBoardIdTasksStreamGetQueryResult = - NonNullable< - Awaited> - >; -export type StreamTasksApiV1BoardsBoardIdTasksStreamGetQueryError = - HTTPValidationError; - -export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params: undefined | StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, - options: { - query: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - DefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): DefinedUseQueryResult & { - queryKey: DataTag; -}; -export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - > & - Pick< - UndefinedInitialDataOptions< - Awaited< - ReturnType - >, - TError, - Awaited< - ReturnType - > - >, - "initialData" - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -}; -/** - * @summary Stream Tasks - */ - -export function useStreamTasksApiV1BoardsBoardIdTasksStreamGet< - TData = Awaited< - ReturnType - >, - TError = HTTPValidationError, ->( - boardId: string, - params?: StreamTasksApiV1BoardsBoardIdTasksStreamGetParams, - options?: { - query?: Partial< - UseQueryOptions< - Awaited>, - TError, - TData - > - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseQueryResult & { - queryKey: DataTag; -} { - const queryOptions = - getStreamTasksApiV1BoardsBoardIdTasksStreamGetQueryOptions( - boardId, - params, - options, - ); - - const query = useQuery(queryOptions, queryClient) as UseQueryResult< - TData, - TError - > & { queryKey: DataTag }; - - return { ...query, queryKey: queryOptions.queryKey }; -} - -/** - * Delete a task and related records. - * @summary Delete Task - */ -export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse200 = { - data: OkResponse; - status: 200; -}; - -export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse422 = { - data: HTTPValidationError; - status: 422; -}; - -export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseSuccess = - deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse200 & { - headers: Headers; - }; -export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseError = - deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse422 & { - headers: Headers; - }; - -export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse = - | deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseSuccess - | deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseError; - -export const getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteUrl = ( - boardId: string, - taskId: string, -) => { - return `/api/v1/boards/${boardId}/tasks/${taskId}`; -}; - -export const deleteTaskApiV1BoardsBoardIdTasksTaskIdDelete = async ( - boardId: string, - taskId: string, - options?: RequestInit, -): Promise => { - return customFetch( - getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteUrl(boardId, taskId), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationOptions = < - TError = HTTPValidationError, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; taskId: string }, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - { boardId: string; taskId: string }, - TContext -> => { - const mutationKey = ["deleteTaskApiV1BoardsBoardIdTasksTaskIdDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - { boardId: string; taskId: string } - > = (props) => { - const { boardId, taskId } = props ?? {}; - - return deleteTaskApiV1BoardsBoardIdTasksTaskIdDelete( - boardId, - taskId, - requestOptions, - ); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type DeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationResult = - NonNullable< - Awaited> - >; - -export type DeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationError = - HTTPValidationError; - -/** - * @summary Delete Task - */ -export const useDeleteTaskApiV1BoardsBoardIdTasksTaskIdDelete = < - TError = HTTPValidationError, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - { boardId: string; taskId: string }, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - { boardId: string; taskId: string }, - TContext -> => { - return useMutation( - getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationOptions(options), - queryClient, - ); -}; /** * Update task status, assignment, comment, and dependency state. * @summary Update Task @@ -920,6 +794,132 @@ export const useUpdateTaskApiV1BoardsBoardIdTasksTaskIdPatch = < queryClient, ); }; +/** + * Delete a task and related records. + * @summary Delete Task + */ +export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse422 = { + data: HTTPValidationError; + status: 422; +}; + +export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseSuccess = + deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse200 & { + headers: Headers; + }; +export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseError = + deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse422 & { + headers: Headers; + }; + +export type deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponse = + | deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseSuccess + | deleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteResponseError; + +export const getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteUrl = ( + boardId: string, + taskId: string, +) => { + return `/api/v1/boards/${boardId}/tasks/${taskId}`; +}; + +export const deleteTaskApiV1BoardsBoardIdTasksTaskIdDelete = async ( + boardId: string, + taskId: string, + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteUrl(boardId, taskId), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationOptions = < + TError = HTTPValidationError, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; taskId: string }, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + { boardId: string; taskId: string }, + TContext +> => { + const mutationKey = ["deleteTaskApiV1BoardsBoardIdTasksTaskIdDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + { boardId: string; taskId: string } + > = (props) => { + const { boardId, taskId } = props ?? {}; + + return deleteTaskApiV1BoardsBoardIdTasksTaskIdDelete( + boardId, + taskId, + requestOptions, + ); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationResult = + NonNullable< + Awaited> + >; + +export type DeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationError = + HTTPValidationError; + +/** + * @summary Delete Task + */ +export const useDeleteTaskApiV1BoardsBoardIdTasksTaskIdDelete = < + TError = HTTPValidationError, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + { boardId: string; taskId: string }, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + { boardId: string; taskId: string }, + TContext +> => { + return useMutation( + getDeleteTaskApiV1BoardsBoardIdTasksTaskIdDeleteMutationOptions(options), + queryClient, + ); +}; /** * List comments for a task in chronological order. * @summary List Task Comments diff --git a/frontend/src/api/generated/users/users.ts b/frontend/src/api/generated/users/users.ts index 31c86e0..825fc35 100644 --- a/frontend/src/api/generated/users/users.ts +++ b/frontend/src/api/generated/users/users.ts @@ -31,108 +31,6 @@ import { customFetch } from "../../mutator"; type SecondParameter unknown> = Parameters[1]; -/** - * Delete the authenticated account and any personal-only organizations. - * @summary Delete Me - */ -export type deleteMeApiV1UsersMeDeleteResponse200 = { - data: OkResponse; - status: 200; -}; - -export type deleteMeApiV1UsersMeDeleteResponseSuccess = - deleteMeApiV1UsersMeDeleteResponse200 & { - headers: Headers; - }; -export type deleteMeApiV1UsersMeDeleteResponse = - deleteMeApiV1UsersMeDeleteResponseSuccess; - -export const getDeleteMeApiV1UsersMeDeleteUrl = () => { - return `/api/v1/users/me`; -}; - -export const deleteMeApiV1UsersMeDelete = async ( - options?: RequestInit, -): Promise => { - return customFetch( - getDeleteMeApiV1UsersMeDeleteUrl(), - { - ...options, - method: "DELETE", - }, - ); -}; - -export const getDeleteMeApiV1UsersMeDeleteMutationOptions = < - TError = unknown, - TContext = unknown, ->(options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - void, - TContext - >; - request?: SecondParameter; -}): UseMutationOptions< - Awaited>, - TError, - void, - TContext -> => { - const mutationKey = ["deleteMeApiV1UsersMeDelete"]; - const { mutation: mutationOptions, request: requestOptions } = options - ? options.mutation && - "mutationKey" in options.mutation && - options.mutation.mutationKey - ? options - : { ...options, mutation: { ...options.mutation, mutationKey } } - : { mutation: { mutationKey }, request: undefined }; - - const mutationFn: MutationFunction< - Awaited>, - void - > = () => { - return deleteMeApiV1UsersMeDelete(requestOptions); - }; - - return { mutationFn, ...mutationOptions }; -}; - -export type DeleteMeApiV1UsersMeDeleteMutationResult = NonNullable< - Awaited> ->; - -export type DeleteMeApiV1UsersMeDeleteMutationError = unknown; - -/** - * @summary Delete Me - */ -export const useDeleteMeApiV1UsersMeDelete = < - TError = unknown, - TContext = unknown, ->( - options?: { - mutation?: UseMutationOptions< - Awaited>, - TError, - void, - TContext - >; - request?: SecondParameter; - }, - queryClient?: QueryClient, -): UseMutationResult< - Awaited>, - TError, - void, - TContext -> => { - return useMutation( - getDeleteMeApiV1UsersMeDeleteMutationOptions(options), - queryClient, - ); -}; /** * Return the authenticated user's current profile payload. * @summary Get Me @@ -303,6 +201,108 @@ export function useGetMeApiV1UsersMeGet< return { ...query, queryKey: queryOptions.queryKey }; } +/** + * Delete the authenticated account and any personal-only organizations. + * @summary Delete Me + */ +export type deleteMeApiV1UsersMeDeleteResponse200 = { + data: OkResponse; + status: 200; +}; + +export type deleteMeApiV1UsersMeDeleteResponseSuccess = + deleteMeApiV1UsersMeDeleteResponse200 & { + headers: Headers; + }; +export type deleteMeApiV1UsersMeDeleteResponse = + deleteMeApiV1UsersMeDeleteResponseSuccess; + +export const getDeleteMeApiV1UsersMeDeleteUrl = () => { + return `/api/v1/users/me`; +}; + +export const deleteMeApiV1UsersMeDelete = async ( + options?: RequestInit, +): Promise => { + return customFetch( + getDeleteMeApiV1UsersMeDeleteUrl(), + { + ...options, + method: "DELETE", + }, + ); +}; + +export const getDeleteMeApiV1UsersMeDeleteMutationOptions = < + TError = unknown, + TContext = unknown, +>(options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + void, + TContext + >; + request?: SecondParameter; +}): UseMutationOptions< + Awaited>, + TError, + void, + TContext +> => { + const mutationKey = ["deleteMeApiV1UsersMeDelete"]; + const { mutation: mutationOptions, request: requestOptions } = options + ? options.mutation && + "mutationKey" in options.mutation && + options.mutation.mutationKey + ? options + : { ...options, mutation: { ...options.mutation, mutationKey } } + : { mutation: { mutationKey }, request: undefined }; + + const mutationFn: MutationFunction< + Awaited>, + void + > = () => { + return deleteMeApiV1UsersMeDelete(requestOptions); + }; + + return { mutationFn, ...mutationOptions }; +}; + +export type DeleteMeApiV1UsersMeDeleteMutationResult = NonNullable< + Awaited> +>; + +export type DeleteMeApiV1UsersMeDeleteMutationError = unknown; + +/** + * @summary Delete Me + */ +export const useDeleteMeApiV1UsersMeDelete = < + TError = unknown, + TContext = unknown, +>( + options?: { + mutation?: UseMutationOptions< + Awaited>, + TError, + void, + TContext + >; + request?: SecondParameter; + }, + queryClient?: QueryClient, +): UseMutationResult< + Awaited>, + TError, + void, + TContext +> => { + return useMutation( + getDeleteMeApiV1UsersMeDeleteMutationOptions(options), + queryClient, + ); +}; /** * Apply partial profile updates for the authenticated user. * @summary Update Me diff --git a/frontend/src/app/dashboard/page.tsx b/frontend/src/app/dashboard/page.tsx index a5c6447..31ddff4 100644 --- a/frontend/src/app/dashboard/page.tsx +++ b/frontend/src/app/dashboard/page.tsx @@ -27,8 +27,17 @@ import { type dashboardMetricsApiV1MetricsDashboardGetResponse, useDashboardMetricsApiV1MetricsDashboardGet, } from "@/api/generated/metrics/metrics"; -import { gatewaysStatusApiV1GatewaysStatusGet } from "@/api/generated/gateways/gateways"; +import { + gatewaysStatusApiV1GatewaysStatusGet, + getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet, +} from "@/api/generated/gateways/gateways"; import type { GatewaysStatusResponse } from "@/api/generated/model/gatewaysStatusResponse"; +import type { RuntimeUsageResponse } from "@/api/generated/model"; +import { + RuntimeUsageSection, + aggregateRuntimeUsage, + type AggregatedRuntimeUsage, +} from "@/components/dashboard/RuntimeUsageSection"; import { type listAgentsApiV1AgentsGetResponse, useListAgentsApiV1AgentsGet, @@ -625,20 +634,74 @@ export default function DashboardPage() { () => gatewayStatusesQuery.data ?? [], [gatewayStatusesQuery.data], ); + // Runtime usage β€” query all gateways in parallel, aggregate + const runtimeUsageQuery = useQuery({ + queryKey: [ + "dashboard", + "runtime-usage", + gatewayTargets.map((t) => t.gatewayId), + ], + enabled: Boolean(isSignedIn && hasConfiguredGateways), + refetchInterval: 30_000, + refetchOnMount: "always", + queryFn: async () => { + const results = await Promise.allSettled( + gatewayTargets.map((target) => + getGatewayRuntimeUsageApiV1GatewaysGatewayIdRuntimeUsageGet( + target.gatewayId, + ).then((res) => { + if (res.status === 200) return res.data as RuntimeUsageResponse; + return null; + }), + ), + ); + const valid = results + .filter( + (r): r is PromiseFulfilledResult => + r.status === "fulfilled" && r.value !== null, + ) + .map((r) => r.value); + return aggregateRuntimeUsage(valid); + }, + }); + + const runtimeUsage = runtimeUsageQuery.data ?? null; + + // Build a session-id β†’ TopSession lookup for enriching session summaries + const topSessionById = useMemo(() => { + const map = new Map(); + for (const s of runtimeUsage?.topSessions ?? []) { + if (s.session_id) { + map.set(s.session_id, { + costUsd: s.cost_usd, + totalTokens: s.total_tokens, + model: s.model ?? null, + }); + } + } + return map; + }, [runtimeUsage]); + const sessionSummaries = useMemo( () => gatewaySnapshots.flatMap((snapshot) => { if (snapshot.requestError) return []; const sourceLabel = snapshot.gatewayUrl || snapshot.boardName; return toSessionSummaries(snapshot.sessions, snapshot.mainSession).map( - (session) => ({ - ...session, - key: `${snapshot.gatewayId}:${session.key}`, - subtitle: `${sourceLabel} Β· ${session.subtitle}`, - }), + (session) => { + const enrichment = topSessionById.get(session.key) ?? topSessionById.get(`${snapshot.gatewayId}:${session.key}`); + return { + ...session, + key: `${snapshot.gatewayId}:${session.key}`, + subtitle: `${sourceLabel} Β· ${session.subtitle}`, + costUsd: enrichment?.costUsd ?? null, + totalTokens: enrichment?.totalTokens ?? null, + model: enrichment?.model ?? null, + }; + }, ); }), - [gatewaySnapshots], + [gatewaySnapshots, topSessionById], ); const activityEvents = useMemo( @@ -1015,6 +1078,16 @@ export default function DashboardPage() { formatRelative={formatRelativeTimestamp} /> + {hasConfiguredGateways && ( +
+ +
+ )} +
; + topSessions: TopSession[]; +} + +// --------------------------------------------------------------------------- +// Aggregation helper (called from dashboard page) +// --------------------------------------------------------------------------- + +export function aggregateRuntimeUsage( + responses: RuntimeUsageResponse[], +): AggregatedRuntimeUsage { + const valid = responses.filter(Boolean); + if (valid.length === 0) { + return { + totalCostUsd: 0, + totalTokens: 0, + totalCalls: 0, + tokenLimit: null, + tokenPct: null, + costLimitUsd: null, + resetInMs: 0, + resetsAt: "", + timeToLimitMs: null, + safe: true, + tokensPerMinute: 0, + costUsdPerMinute: 0, + perModel: {}, + topSessions: [], + }; + } + + let totalCostUsd = 0; + let totalTokens = 0; + let totalCalls = 0; + let tokensPerMinute = 0; + let costUsdPerMinute = 0; + // Use the window that resets soonest as the binding constraint + let resetInMs = valid[0].window.reset_in_ms; + let resetsAt = valid[0].window.resets_at; + const perModel: Record = {}; + const allSessions: TopSession[] = []; + + for (const r of valid) { + totalCostUsd += r.current.total_cost_usd; + totalTokens += r.current.total_tokens; + totalCalls += r.current.total_calls; + tokensPerMinute += r.burn_rate.tokens_per_minute; + costUsdPerMinute += r.burn_rate.cost_usd_per_minute; + + if (r.window.reset_in_ms < resetInMs) { + resetInMs = r.window.reset_in_ms; + resetsAt = r.window.resets_at; + } + + for (const [key, entry] of Object.entries(r.per_model)) { + if (perModel[key]) { + const e = perModel[key]; + perModel[key] = { + ...e, + input_tokens: e.input_tokens + entry.input_tokens, + output_tokens: e.output_tokens + entry.output_tokens, + cache_read_tokens: e.cache_read_tokens + entry.cache_read_tokens, + cache_write_tokens: e.cache_write_tokens + entry.cache_write_tokens, + total_tokens: e.total_tokens + entry.total_tokens, + cost_usd: e.cost_usd + entry.cost_usd, + calls: e.calls + entry.calls, + }; + } else { + perModel[key] = { ...entry }; + } + } + + allSessions.push(...r.top_sessions); + } + + // Aggregate token limits β€” only meaningful if all gateways share one limit + const limits = valid.map(r => r.current.token_limit).filter((v): v is number => v !== null); + const tokenLimit = limits.length > 0 ? limits.reduce((a, b) => a + b, 0) : null; + const tokenPct = tokenLimit ? Math.min(100, Math.round(totalTokens * 100 / tokenLimit)) : null; + const costLimits = valid.map(r => r.current.cost_limit_usd).filter((v): v is number => v !== null); + const costLimitUsd = costLimits.length > 0 ? costLimits.reduce((a, b) => a + b, 0) : null; + + // Re-derive time-to-limit from aggregated burn rate + let timeToLimitMs: number | null = null; + let safe = true; + if (tokenLimit !== null && tokensPerMinute > 0) { + const remaining = tokenLimit - totalTokens; + if (remaining <= 0) { + timeToLimitMs = 0; + safe = false; + } else { + timeToLimitMs = Math.round((remaining / tokensPerMinute) * 60 * 1000); + safe = timeToLimitMs > resetInMs; + } + } + + const topSessions = [...allSessions] + .sort((a, b) => b.cost_usd - a.cost_usd) + .slice(0, 10); + + return { + totalCostUsd: Math.round(totalCostUsd * 1e8) / 1e8, + totalTokens, + totalCalls, + tokenLimit, + tokenPct, + costLimitUsd, + resetInMs, + resetsAt, + timeToLimitMs, + safe, + tokensPerMinute: Math.round(tokensPerMinute * 100) / 100, + costUsdPerMinute: Math.round(costUsdPerMinute * 1e8) / 1e8, + perModel, + topSessions, + }; +} + +// --------------------------------------------------------------------------- +// Formatters +// --------------------------------------------------------------------------- + +function fmtMs(ms: number | null): string { + if (ms === null) return "β€”"; + if (ms <= 0) return "0m"; + if (ms < 60_000) return "< 1m"; + const totalMin = Math.floor(ms / 60_000); + if (totalMin < 60) return `${totalMin}m`; + const h = Math.floor(totalMin / 60); + const m = totalMin % 60; + return m > 0 ? `${h}h ${m}m` : `${h}h`; +} + +function fmtCost(usd: number): string { + if (usd === 0) return "$0.00"; + if (usd < 0.001) return `$${usd.toFixed(6)}`; + if (usd < 0.01) return `$${usd.toFixed(4)}`; + return `$${usd.toFixed(2)}`; +} + +function fmtTokens(n: number): string { + if (n >= 1_000_000) return `${(n / 1_000_000).toFixed(1)}M`; + if (n >= 1_000) return `${(n / 1_000).toFixed(1)}k`; + return n.toString(); +} + +function modelLabel(key: string): string { + // "anthropic/claude-sonnet-4-6" β†’ "claude-sonnet-4-6" + return key.includes("/") ? key.split("/")[1] : key; +} + +function providerLabel(key: string): string { + return key.includes("/") ? key.split("/")[0] : key; +} + +// --------------------------------------------------------------------------- +// Sub-components +// --------------------------------------------------------------------------- + +interface StatCardProps { + label: string; + value: string; + sub?: string; + tone?: "default" | "warning" | "danger" | "success"; + icon: React.ReactNode; +} + +function StatCard({ label, value, sub, tone = "default", icon }: StatCardProps) { + const toneClass = { + default: "text-[color:var(--text)]", + warning: "text-[color:var(--warning)]", + danger: "text-[color:var(--danger)]", + success: "text-[color:var(--success)]", + }[tone]; + + return ( +
+
+ {icon} + {label} +
+

{value}

+ {sub &&

{sub}

} +
+ ); +} + +// --------------------------------------------------------------------------- +// Main component +// --------------------------------------------------------------------------- + +interface RuntimeUsageSectionProps { + usage: AggregatedRuntimeUsage | null; + isLoading: boolean; + hasGateways: boolean; +} + +export function RuntimeUsageSection({ + usage, + isLoading, + hasGateways, +}: RuntimeUsageSectionProps) { + if (!hasGateways) return null; + + const noData = !usage || (usage.totalCalls === 0 && Object.keys(usage.perModel).length === 0); + const safenessTone = usage + ? usage.safe + ? "success" + : "danger" + : "default"; + + const modelRows = usage + ? Object.entries(usage.perModel).sort((a, b) => b[1].cost_usd - a[1].cost_usd) + : []; + + return ( + + {isLoading && !usage ? ( + + ) : noData ? ( + + ) : usage ? ( +
+ {/* Top stat cards */} +
+ 0.8 ? "warning" : "default"} + icon={} + /> + } + /> + } + /> + 0 ? `${fmtCost(usage.costUsdPerMinute)}/m` : "β€”"} + sub={usage.tokensPerMinute > 0 ? `${fmtTokens(usage.tokensPerMinute)} tok/m` : undefined} + icon={} + /> +
+ + {/* Unpriced models warning */} + {modelRows.some(([, e]) => e.unpriced) && ( +
+ + Some models have no pricing config β€” costs may be under-reported. +
+ )} + + {/* Per-model breakdown */} + {modelRows.length > 0 && ( +
+ + + + + + + + {usage.tokenLimit !== null && ( + + )} + + + + {modelRows.map(([key, entry]) => ( + + + + + + {usage.tokenLimit !== null && ( + + )} + + ))} + +
ModelTokens outCostCalls% limit
+
{modelLabel(key)}
+
{providerLabel(key)}{entry.unpriced ? " Β· unpriced" : ""}
+
+ {fmtTokens(entry.output_tokens)} + + {entry.unpriced ? β€”* : fmtCost(entry.cost_usd)} + {entry.calls} + {Math.round(entry.total_tokens * 100 / usage.tokenLimit)}% +
+
+ )} +
+ ) : null} +
+ ); +} diff --git a/frontend/src/components/dashboard/SessionsSection.tsx b/frontend/src/components/dashboard/SessionsSection.tsx index ebd0ef0..440e380 100644 --- a/frontend/src/components/dashboard/SessionsSection.tsx +++ b/frontend/src/components/dashboard/SessionsSection.tsx @@ -1,13 +1,17 @@ import { DashboardSection } from "./DashboardSection"; import { DashboardEmptyState } from "./DashboardEmptyState"; -type SessionSummary = { +export type SessionSummary = { key: string; title: string; subtitle: string; usage: string; lastSeenAt: string | null; isMain: boolean; + /** Enriched from runtime usage when session IDs match */ + costUsd?: number | null; + totalTokens?: number | null; + model?: string | null; }; interface SessionsSectionProps { @@ -69,9 +73,23 @@ export function SessionsSection({

- {session.usage === dash ? "Usage unavailable" : session.usage} + {session.costUsd != null + ? session.costUsd === 0 + ? "$0.00" + : session.costUsd < 0.01 + ? `$${session.costUsd.toFixed(4)}` + : `$${session.costUsd.toFixed(2)}` + : session.usage === dash + ? "Usage unavailable" + : session.usage}

-

+

+ {session.model + ? session.model.includes("/") + ? session.model.split("/")[1] + : session.model + : null} + {session.model && session.lastSeenAt ? " Β· " : null} {session.lastSeenAt ? formatRelative(session.lastSeenAt) : "Activity unavailable"}