import type { Schema } from "../../extensions/schema/index.js"; /** Public API contract for agent service registration mode. */ export type AgentServiceRegistrationMode = "auto" | "enabled" | "disabled"; /** Configuration used by agent service registration. */ export type AgentServiceRegistrationConfig = { VERYFRONT_API_URL: string; VERYFRONT_API_TOKEN?: string; VERYFRONT_PROJECT_ID?: string; VERYFRONT_AGENT_SERVICE_URL?: string; VERYFRONT_AGENT_SERVICE_KEY?: string; VERYFRONT_AGENT_SERVICE_REGISTRATION: AgentServiceRegistrationMode; VERYFRONT_AGENT_SERVICE_HEARTBEAT_INTERVAL_MS: number; VERYFRONT_AGENT_SERVICE_REGION?: string; POD_NAME?: string; POD_UID?: string; POD_IP?: string; }; /** Input payload for resolved agent service registration. */ export type ResolvedAgentServiceRegistrationInput = { apiUrl: string; authToken: string; serviceName: string; serviceKey: string; scopeKind: "global" | "project"; projectId?: string; agentId?: string; baseUrl: string; invokeUrl: string; version?: string; runtime?: string; region?: string; heartbeatIntervalMs: number; }; /** Public API contract for agent push runtime service rest. */ export type AgentPushRuntimeServiceRest = { id: string; service_name: string; service_key: string; scope_kind: "global" | "project"; scope_key: string; project_id: string | null; agent_id: string | null; base_url: string; invoke_url: string; status: "active" | "disabled"; capabilities?: unknown | null; metadata?: unknown | null; version: string | null; runtime: string | null; region: string | null; last_heartbeat_at: string | null; created_at: string; updated_at: string; }; /** Request payload for register agent push runtime service. */ export type RegisterAgentPushRuntimeServiceRequest = { service_name: string; service_key: string; scope_kind: "global" | "project"; project_id?: string; agent_id?: string; base_url: string; invoke_url: string; version?: string; runtime?: string; region?: string; }; export declare const agentServiceRegistrationModeSchema: Schema; /** Zod schema for agent service registration config. */ export declare const agentServiceRegistrationConfigSchema: Schema; /** Zod schema for resolved agent service registration input. */ export declare const resolvedAgentServiceRegistrationInputSchema: Schema; /** Public API contract for agent service registration logger. */ export type AgentServiceRegistrationLogger = { info?: (message: string, metadata?: Record) => void; warn?: (message: string, metadata?: Record) => void; error?: (message: string, metadata?: Record) => void; }; /** Options accepted by resolve agent service registration input. */ export type ResolveAgentServiceRegistrationInputOptions = { config: AgentServiceRegistrationConfig; serviceName: string; agentId?: string; version?: string; runtime?: string; }; /** Public API contract for agent service registration lifecycle. */ export type AgentServiceRegistrationLifecycle = { serviceId: string; service: AgentPushRuntimeServiceRest; heartbeat: () => Promise; stop: () => void; }; /** Options accepted by create agent service registration lifecycle. */ export type CreateAgentServiceRegistrationLifecycleOptions = ResolvedAgentServiceRegistrationInput & { fetch?: typeof globalThis.fetch; logger?: AgentServiceRegistrationLogger; }; /** Bounded retry plan for one heartbeat tick. */ export type HeartbeatRetrySchedule = { /** Total attempts, including the first. */ maxAttempts: number; /** Backoff after each attempt that may still be retried, in attempt order. */ delaysMs: readonly number[]; }; /** * Build the doubling backoff for one heartbeat tick, scaled down so the whole * sequence of waits fits inside {@link HEARTBEAT_RETRY_BUDGET_RATIO} of the * configured interval however short that interval is. */ export declare function heartbeatRetrySchedule(heartbeatIntervalMs: number): HeartbeatRetrySchedule; /** Input payload for resolve agent service registration. */ export declare function resolveAgentServiceRegistrationInput(options: ResolveAgentServiceRegistrationInputOptions): Promise; /** Create agent service registration lifecycle. */ export declare function createAgentServiceRegistrationLifecycle(options: CreateAgentServiceRegistrationLifecycleOptions): Promise; //# sourceMappingURL=registration.d.ts.map