58 lines
6.0 KiB
TypeScript
58 lines
6.0 KiB
TypeScript
import type { z } from "zod";
|
|
|
|
export type ValidationIssue = { field?: string; message: string; code?: string };
|
|
export type ApiMeta = { requestId: string; timestamp: string };
|
|
export type ApiResponse<T> = { data: T; meta: ApiMeta };
|
|
export type ApiErrorResponse = { error: { code: string; message: string; validation?: ValidationIssue[] }; meta: ApiMeta };
|
|
export type CanonicalLifecycle = "ready" | "running" | "waiting" | "needs_user" | "recovering" | "failed" | "done";
|
|
export type AutonomyProfile = "conservative" | "normal" | "autonomous" | "custom";
|
|
export type AutonomyProfileSettings = { autoBrainstorm: boolean; maxBrainstormIterations: number; maxConsecutiveFailures: number; leaseMinutes: number; maxWorkItemsPerRun: number; maxRunMinutes: number };
|
|
export type AuthUser = { id: string; username: string; role: "owner" | "member" };
|
|
export type AuthSessionData = { user: AuthUser; csrfToken: string; expiresAt?: string };
|
|
export type EntraPublicConfig = { enabled: boolean; provider: "microsoft-entra" };
|
|
export type EntraLinkStatus = { enabled: boolean; linked: boolean; displayName?: string; preferredUsername?: string };
|
|
|
|
export const requestIdSchema: z.ZodString;
|
|
export const timestampSchema: z.ZodString;
|
|
export const validationIssueSchema: z.ZodType<ValidationIssue>;
|
|
export const apiMetaSchema: z.ZodType<ApiMeta>;
|
|
export const apiErrorEnvelopeSchema: z.ZodType<ApiErrorResponse>;
|
|
export const successEnvelopeSchema: <T extends z.ZodTypeAny>(dataSchema?: T) => z.ZodType<ApiResponse<z.infer<T>>>;
|
|
export const apiEnvelopeSchema: z.ZodType<ApiResponse<unknown> | ApiErrorResponse>;
|
|
export const canonicalLifecycleValues: readonly CanonicalLifecycle[];
|
|
export const canonicalLifecycleSchema: z.ZodEnum<["ready", "running", "waiting", "needs_user", "recovering", "failed", "done"]>;
|
|
export const autonomyProfileSchema: z.ZodEnum<["conservative", "normal", "autonomous", "custom"]>;
|
|
export const autonomyProfileSettings: Readonly<Record<AutonomyProfile, AutonomyProfileSettings | undefined>>;
|
|
export const summarizeHumanBlocker: (reason?: string) => string;
|
|
export const summarizeTechnicalBlocker: (reason?: string) => string;
|
|
export const userRoleSchema: z.ZodEnum<["owner", "member"]>;
|
|
export const authUserSchema: z.ZodType<AuthUser>;
|
|
export const loginCredentialsSchema: z.ZodType<{ username: string; password: string }>;
|
|
export const rotatePasswordSchema: z.ZodType<{ currentPassword: string; newPassword: string }>;
|
|
export const authSessionDataSchema: z.ZodType<AuthSessionData>;
|
|
export const entraPublicConfigSchema: z.ZodType<EntraPublicConfig>;
|
|
export const entraLinkStatusSchema: z.ZodType<EntraLinkStatus>;
|
|
export const idSchema: z.ZodString;
|
|
export const mutationResponseSchema: z.ZodType<{ success: boolean; message: string; updatedEntityId?: string; createdEntityId?: string; affectedEntities: string[] }>;
|
|
export const captureCreateSchema: z.ZodType<{ type: string; content: string; source?: string }>;
|
|
export const operatingLogCreateSchema: z.ZodType<{ type: string; title: string; summary: string; linkedEntityIds?: string[]; source?: string; importance?: string }>;
|
|
export const apiPaths: {
|
|
auth: { login: string; session: string; logout: string; rotatePassword: string; entraConfig: string; entraStart: string; entraCallback: string; entraStatus: string; entraLinkStart: string; entraIdentity: string };
|
|
captureItems(projectId?: string): string; classifyCapture(projectId?: string, captureItemId?: string): string; sendCaptureToReview(projectId?: string, captureItemId?: string): string;
|
|
acceptReview(projectId?: string, reviewItemId?: string): string; materializeTruth(projectId?: string, reviewItemId?: string): string; createProjectUpdate(projectId?: string, truthItemId?: string): string; applyProjectUpdate(projectId?: string, projectUpdateId?: string): string;
|
|
handoffBundles(projectId?: string): string; codexTaskFromHandoff(projectId?: string, handoffBundleId?: string): string; importCodexOutput(projectId?: string, codexTaskId?: string): string;
|
|
projectActivity(projectId?: string): string;
|
|
projectActivityRuntime(projectId?: string): string;
|
|
repositoryFindings(projectId?: string): string; repositoryFinding(projectId?: string, findingId?: string): string;
|
|
findingIssue(projectId?: string, findingId?: string): string; findingInvestigation(projectId?: string, findingId?: string): string;
|
|
findingSuppression(projectId?: string, findingId?: string): string; findingAutomationPolicy(projectId?: string): string;
|
|
portfolioControlPlane: string; portfolioRuntime: string; portfolioSourceSync: string; projectSourceSync(projectId?: string): string; portfolioRepositories: string; portfolioReconcile: string; portfolioAnalysisJobs: string;
|
|
portfolioAnalysisJob(jobId?: string): string; portfolioAnalysisJobResults(jobId?: string): string; portfolioAnalysisJobCancel(jobId?: string): string;
|
|
portfolioRepositoryExclude(repositoryId?: string): string; portfolioRepositoryRestore(repositoryId?: string): string;
|
|
workGraph(projectId?: string): string; workGraphReady(projectId?: string): string; workGraphBlockers(projectId?: string): string; workGraphHistory(projectId?: string): string;
|
|
workGraphClaim(projectId?: string): string; workGraphReclaim(projectId?: string): string; workGraphRelease(projectId?: string, nodeId?: string): string; workGraphComplete(projectId?: string, nodeId?: string): string; workGraphDependencies(projectId?: string, nodeId?: string): string;
|
|
definitionOfDone(projectId?: string): string; autonomySimulation(projectId?: string): string; projectAttention(projectId?: string): string; projectKnowledge(projectId?: string): string; projectKnowledgeConflicts(projectId?: string): string; projectEvidenceGraph(projectId?: string): string; diagnostics: string; diagnosticsHistory: string; projectDiagnostics(projectId?: string): string; projectPulse(projectId?: string): string; portfolioPulse: string;
|
|
commandInterpret: string; projectCommandInterpret(projectId?: string): string; portfolioViews: string; portfolioView(viewId?: string): string; portfolioPins: string; portfolioPin(projectId?: string): string;
|
|
};
|
|
export const buildOpenApiDocument: () => Record<string, unknown>;
|