import { ClientSessionEvent, SteerSessionMessageRequest, type SessionStatus, type WorkClaimSubjectFilter, type SessionGoalRevision, type SessionAuthorizationOperation } from "@opengeni/contracts"; import { type SessionDiscoveryCursor } from "@opengeni/db"; import type { Context, Hono } from "hono"; import type { ApiRouteDeps } from "@opengeni/core"; import { type ViewerServices } from "../sandbox/viewer.js"; type SessionRouteDeps = ApiRouteDeps & Pick; export declare function registerSessionRoutes(app: Hono, deps: SessionRouteDeps): void; export declare function goalProposalMatchesExpectedRevision(revision: Pick, expectedObjectiveRevision: number): boolean; /** * Map every mounted session-addressed HTTP path to the host-neutral operation * the embedding port authorizes. Returning null is deliberately fail-closed in * host-managed mode; standalone deployments never consult this classifier. */ export declare function sessionAuthorizationOperationForHttp(method: string, pathname: string, sessionId: string): SessionAuthorizationOperation | null; export declare function sessionTenancyHttpError(error: unknown): Error; export type AgentTopologyCursorEnvelope = { cursor: SessionDiscoveryCursor; parentSessionId: string | null | "all"; rootSessionId: string | null; query: string | null; statuses: SessionStatus[]; activeOnly: boolean; recentHours: number | null; subject: WorkClaimSubjectFilter | null; claimLimit: number | null; }; export declare function encodeAgentTopologyCursor(value: AgentTopologyCursorEnvelope): string; export declare function agentTopologyQuery(query: Record): { limit: number; parentSessionId: string | null | undefined; rootSessionId: string | undefined; query: string | undefined; statuses: SessionStatus[] | undefined; activeOnly: boolean; recentHours: number | undefined; subject: WorkClaimSubjectFilter | undefined; claimLimit: number | undefined; cursor: SessionDiscoveryCursor | undefined; }; /** Stable, value-free JSON errors for only the create-session boundary. */ export declare function sessionCreateErrorResponse(c: Context, error: unknown): Response; export declare function parseSessionEventAdmission(raw: unknown): ClientSessionEvent; export declare function parseSteerSessionAdmission(raw: unknown): SteerSessionMessageRequest; export {};