import type { MemoryStats } from "./memory-store.js"; import { StatusReporter } from "./status-reporter.js"; import type { AgentConfig, BridgeToolManifest, BrowserListenerEvent, DirectMessage, DmHistoryResponse, FetchUnreadMessagesOptions, FinishTaskRollbackArgs, GroupHistoryResponse, GroupRoomsResponse, HireBatchResult, HireColleagueArgs, MessageHandler, OnlineListResponse, PluginCatalogSnapshot, ProfileInfo, RegisterResult, ServerConfig, SendDmResult, SendMessageResult, StartTaskRollbackArgs, TaskInstanceCommentArgs, UnreadMessagesResult } from "./types.js"; export type ProfileHandler = (profile: ProfileInfo) => void; export type AgentConfigHandler = (data: Record) => void; export type SystemNotifyHandler = (data: Record) => void; export declare class PollLongPollTimeoutError extends Error { constructor(message: string); } export declare class AgentClient { private wsClient; private httpClient; private agentConfig; private serverConfig; private agentId; private displayName; private projectId; private isRunning; private isDegradedMode; private messageHandler; private profileHandler; private configHandler; private systemNotifyHandler; private pollTimer; private statusReporter; private newCharacterHandler; private runtimeTokenRefreshTimer; private pendingLaunchBindingClaim; private cachedProfile; constructor(); initialize(): Promise; private applyLaunchBinding; private retryPendingLaunchBindingClaim; private setupWebSocketListeners; register(): Promise; private hasPresetAgentId; private registerWithExistingAgentId; private registerAsNewAgent; unregister(): Promise; discoverColleagues(): Promise; discoverGroupRooms(): Promise; hireColleague(args: HireColleagueArgs): Promise; callAgentScopedTool(toolName: string, args: Record): Promise; reportMemoryStats(memoryStats: MemoryStats): Promise; sendGroupMessage(content: string, projectId?: string, roomId?: string, card?: { type: "pencil" | "draw"; docId: string; title?: string; description?: string; }): Promise; sendDirectMessage(targetId: string, content: string, waitReply?: boolean, replyToCallId?: string, timeoutMs?: number, card?: { type: "pencil" | "draw"; docId: string; title?: string; description?: string; }): Promise; sendCallAndWaitReply(targetId: string, content: string, timeoutMs?: number): Promise; replyToCall(callId: string, targetId: string, content: string): Promise; getDmHistory(targetUserId?: string, limit?: number, since?: string): Promise; getGroupHistory(limit?: number, roomId?: string, since?: string): Promise; fetchUnreadMessages(options?: FetchUnreadMessagesOptions): Promise; markDmRead(msgIds: string[]): Promise>; markGroupRead(roomId: string, msgIds: number[]): Promise>; markNotificationRead(msgIds: string[]): Promise; markMeetingRead(msgIds: Array): Promise; fetchBrowserListenerEvents(): Promise; fetchPluginEvents(): Promise<{ revision: number; events: DirectMessage[]; catalog: PluginCatalogSnapshot | null; compactionSeq: number; }>; notifyBridgeForceMessage(): Promise; setBridgeCapabilityTools(capability: string, action: "expand" | "collapse"): Promise<{ ok: boolean; sessions?: number; tools?: number; manifests?: BridgeToolManifest[]; error?: string; }>; callBridgeCapabilityTool(capability: string, toolName: string, args: unknown): Promise<{ ok: boolean; result?: unknown; error?: string; }>; private fetchDirectMessagesWithRecovery; private isRecoverableLongPollError; private normalizeGroupMessages; private collectRoomIds; getProfile(): Promise; private getProfileByAgentId; getMyTasks(): Promise; createTaskInstanceComment(args: TaskInstanceCommentArgs): Promise; submitTaskResult(nodeId: string, outputPayload: string, changeLog?: unknown[]): Promise; startTaskRollback(args: StartTaskRollbackArgs): Promise; finishTaskRollback(args: FinishTaskRollbackArgs): Promise; rejectTask(nodeId: string, reason: string): Promise; terminateTask(taskInstanceId: string, reason: string): Promise; getDebugLogConfig(): Promise; queryDebugLogs(args: Record): Promise; queryFileChangesHistory(args: Record): Promise; getRuntimeFeatures(): Promise>; listLaunchConfigs(): Promise; createLaunchConfig(args: Record): Promise; updateLaunchConfig(args: Record): Promise; deleteLaunchConfig(configId: string): Promise; startLaunchConfig(args: Record): Promise; restartLaunchConfig(args: Record): Promise; stopLaunchConfig(configId: string): Promise; getLaunchLogs(args: Record): Promise; listLaunchRuns(): Promise; start(handler: MessageHandler, options?: { pollMode?: boolean; profileHandler?: ProfileHandler; configHandler?: AgentConfigHandler; systemNotifyHandler?: SystemNotifyHandler; }): void; stop(): void; private messageLoop; private handleIncomingDm; private handleIncomingGroup; private handleIncomingMeeting; private handleProfileInfo; private processMessage; private ensureRegistered; private delay; onNewCharacter(handler: () => void): void; getState(): { agentId: string | null; displayName: string | null; projectId: string | null; isConnected: boolean; isRunning: boolean; }; getAgentConfig(): AgentConfig; getServerConfig(): ServerConfig; reloadConfig(): void; enterDegradedMode(): void; exitDegradedMode(): void; isInDegradedMode(): boolean; retryRegistrationInBackground(retryIntervalMs: number, maxRetries: number): Promise; private initializeStatusReporter; private startRuntimeTokenRefresh; private stopRuntimeTokenRefresh; private reportMcpNodeLog; getStatusReporter(): StatusReporter | null; }