import { type AccessGrant, type ErrorCode } from "@opengeni/contracts"; import { Hono } from "hono"; import type { ApiRouteDeps, AppDependencies } from "@opengeni/core"; export { allowedCorsOrigin } from "./http/cors.js"; export type { ApiRouteDeps, AppDependencies, DocumentIndexClient, ObjectStorageDependency, SessionWorkflowClient, } from "@opengeni/core"; export { mergeResourceRefs, mergeToolRefs, normalizeResources, validateFileResources, validateGitHubRepositorySelection, validateGitHubRepositorySelectionShape, validateGitHubRepositorySelectionShapes, validateToolRefs, withDefaultEnabledCapabilityMcpTools, } from "@opengeni/core"; export { workflowIdForSession } from "@opengeni/core"; export { replaySessionEvents, sseSessionStream, sseWorkspaceControlStream } from "./http/sse.js"; export declare const API_MAX_REQUEST_BODY_BYTES: number; /** Effective Hono bodyLimit — API JSON ceiling or voice multipart + multipart overhead. */ export declare function apiRequestBodyLimitBytes(settings: { voiceInputMaxSizeBytes: number; voiceInputResumableMaxChunkSizeBytes?: number; }): number; export declare function createApp(deps: AppDependencies): Hono; export declare function resolveWorkspaceMcpRouteDeps(routeDeps: ApiRouteDeps, grant: AccessGrant): Promise; export declare function createAppComposition(deps: AppDependencies): { app: Hono; routeDeps: ApiRouteDeps; }; export declare function appendVary(current: string | null, value: string): string; export declare function workspaceActorContextExempt(method: string, pathname: string): boolean; export declare function httpStatusForError(error: unknown): number; export declare function errorCodeForStatus(status: number): ErrorCode; export declare function routeLabel(pathname: string): string; /** * State-changing OpenGeni HTTP calls must never cross an incompatible rollout * boundary. Standard third-party protocols and externally initiated callbacks * are intentionally outside this product API contract. */ export declare function isApiContractProtectedMutation(method: string, pathname: string): boolean;