/** * ThinkHive SDK - Signals API * * Behavioral signal management for detecting patterns in agent interactions */ /** Signal detection configuration */ export interface DetectionConfig { type: string; threshold?: number; pattern?: string; [key: string]: unknown; } /** Options for creating a signal */ export interface CreateSignalOptions { description?: string; isEnabled?: boolean; severity?: string; } /** Options for updating a signal */ export interface UpdateSignalOptions { name?: string; group?: string; description?: string; detectionConfig?: DetectionConfig; isEnabled?: boolean; severity?: string; } /** Options for listing signals */ export interface ListSignalsOptions { group?: string; source?: string; isEnabled?: boolean; } /** Options for getting signal stats */ export interface SignalStatsOptions { startDate?: string; endDate?: string; agentId?: string; } /** Options for getting signal trends */ export interface SignalTrendsOptions { startDate?: string; endDate?: string; agentId?: string; granularity?: 'hour' | 'day' | 'week' | 'month'; } /** Options for getting signal traces */ export interface SignalTracesOptions { limit?: number; offset?: number; startDate?: string; endDate?: string; agentId?: string; } /** Options for getting signal events */ export interface SignalEventsOptions { limit?: number; offset?: number; } /** A behavioral signal definition */ export interface Signal { id: string; name: string; group: string; description?: string; detectionConfig: DetectionConfig; isEnabled: boolean; severity?: string; source?: string; createdAt: string; updatedAt: string; } /** Signal statistics */ export interface SignalStats { signalId: string; name: string; eventCount: number; traceCount: number; lastTriggeredAt?: string; } /** Signal trend data point */ export interface SignalTrendPoint { period: string; eventCount: number; traceCount: number; } /** A signal event occurrence */ export interface SignalEvent { id: string; signalId: string; traceId: string; detectedAt: string; metadata?: Record; } /** * Signals API client for managing behavioral signal detection */ export declare const signals: { /** * List all signals with optional filters * * @param opts - Filter options for group, source, or enabled status * @returns List of signals */ list(opts?: ListSignalsOptions): Promise; /** * Create a new behavioral signal * * @param name - Signal name * @param group - Signal group/category * @param detectionConfig - Detection configuration * @param opts - Additional signal options * @returns The created signal */ create(name: string, group: string, detectionConfig: DetectionConfig, opts?: CreateSignalOptions): Promise; /** * Update an existing signal * * @param id - Signal ID to update * @param opts - Fields to update * @returns The updated signal */ update(id: string, opts: UpdateSignalOptions): Promise; /** * Delete a signal * * @param id - Signal ID to delete */ remove(id: string): Promise; /** Alias for remove() */ delete(id: string): Promise; /** * Seed default signal definitions * * @returns List of seeded signals */ seedDefaults(): Promise; /** * Get signal statistics * * @param opts - Date range and agent filter options * @returns Signal statistics */ getStats(opts?: SignalStatsOptions): Promise; /** * Get signal trend data over time * * @param opts - Date range, agent, and granularity options * @returns Signal trend data points */ getTrends(opts?: SignalTrendsOptions): Promise; /** * Get traces that triggered a specific signal * * @param id - Signal ID * @param opts - Pagination and filter options * @returns Traces associated with the signal */ getTraces(id: string, opts?: SignalTracesOptions): Promise<{ traces: any[]; limit: number; offset: number; hasMore: boolean; }>; /** * Get events for a specific signal * * @param id - Signal ID * @param opts - Pagination options * @returns Signal events */ getEvents(id: string, opts?: SignalEventsOptions): Promise<{ events: SignalEvent[]; limit: number; offset: number; hasMore: boolean; }>; }; export { signals as default };