UNPKG

@fastmcp-me/mcp-sqlew

Version:

MCP server for efficient context sharing between Claude Code sub-agents with 96% token reduction via action-based tools

388 lines 9.74 kB
/** * Type definitions for MCP Shared Context Server * Database entity interfaces and enum types */ import { Database } from 'better-sqlite3'; /** * Decision status enumeration * 1 = active, 2 = deprecated, 3 = draft */ export declare enum Status { ACTIVE = 1, DEPRECATED = 2, DRAFT = 3 } /** * Message type enumeration * 1 = decision, 2 = warning, 3 = request, 4 = info */ export declare enum MessageType { DECISION = 1, WARNING = 2, REQUEST = 3, INFO = 4 } /** * Priority level enumeration * 1 = low, 2 = medium, 3 = high, 4 = critical */ export declare enum Priority { LOW = 1, MEDIUM = 2, HIGH = 3, CRITICAL = 4 } /** * File change type enumeration * 1 = created, 2 = modified, 3 = deleted */ export declare enum ChangeType { CREATED = 1, MODIFIED = 2, DELETED = 3 } export interface Agent { readonly id: number; readonly name: string; } export interface File { readonly id: number; readonly path: string; } export interface ContextKey { readonly id: number; readonly key: string; } export interface ConstraintCategory { readonly id: number; readonly name: string; } export interface Layer { readonly id: number; readonly name: string; } export interface Tag { readonly id: number; readonly name: string; } export interface Scope { readonly id: number; readonly name: string; } export interface Decision { readonly key_id: number; readonly value: string; readonly agent_id: number | null; readonly layer_id: number | null; readonly version: string; readonly status: Status; readonly ts: number; } export interface DecisionNumeric { readonly key_id: number; readonly value: number; readonly agent_id: number | null; readonly layer_id: number | null; readonly version: string; readonly status: Status; readonly ts: number; } export interface DecisionHistory { readonly id: number; readonly key_id: number; readonly version: string; readonly value: string; readonly agent_id: number | null; readonly ts: number; } export interface DecisionTag { readonly decision_key_id: number; readonly tag_id: number; } export interface DecisionScope { readonly decision_key_id: number; readonly scope_id: number; } export interface AgentMessage { readonly id: number; readonly from_agent_id: number; readonly to_agent_id: number | null; readonly msg_type: MessageType; readonly priority: Priority; readonly payload: string | null; readonly ts: number; readonly read: number; } export interface FileChange { readonly id: number; readonly file_id: number; readonly agent_id: number; readonly layer_id: number | null; readonly change_type: ChangeType; readonly description: string | null; readonly ts: number; } export interface Constraint { readonly id: number; readonly category_id: number; readonly layer_id: number | null; readonly constraint_text: string; readonly priority: Priority; readonly active: number; readonly created_by: number | null; readonly ts: number; } export interface ConstraintTag { readonly constraint_id: number; readonly tag_id: number; } export interface TaggedDecision { readonly key: string; readonly value: string; readonly version: string; readonly status: 'active' | 'deprecated' | 'draft'; readonly layer: string | null; readonly tags: string | null; readonly scopes: string | null; readonly decided_by: string | null; readonly updated: string; } export interface ActiveContext { readonly key: string; readonly value: string; readonly version: string; readonly layer: string | null; readonly decided_by: string | null; readonly updated: string; } export interface LayerSummary { readonly layer: string; readonly decisions_count: number; readonly file_changes_count: number; readonly constraints_count: number; } export interface UnreadMessagesByPriority { readonly agent: string; readonly priority: 'critical' | 'high' | 'medium' | 'low'; readonly count: number; } export interface RecentFileChange { readonly path: string; readonly changed_by: string; readonly layer: string | null; readonly change_type: 'created' | 'modified' | 'deleted'; readonly description: string | null; readonly changed_at: string; } export interface TaggedConstraint { readonly id: number; readonly category: string; readonly layer: string | null; readonly constraint_text: string; readonly priority: 'critical' | 'high' | 'medium' | 'low'; readonly tags: string | null; readonly created_by: string | null; readonly created_at: string; } export interface SetDecisionParams { key: string; value: string | number; agent?: string; layer?: string; version?: string; status?: 'active' | 'deprecated' | 'draft'; tags?: string[]; scopes?: string[]; } export interface GetContextParams { tags?: string[]; layer?: string; status?: 'active' | 'deprecated' | 'draft'; scope?: string; tag_match?: 'AND' | 'OR'; } export interface GetDecisionParams { key: string; } export interface SearchByTagsParams { tags: string[]; match_mode?: 'AND' | 'OR'; status?: 'active' | 'deprecated' | 'draft'; layer?: string; } export interface GetVersionsParams { key: string; } export interface SearchByLayerParams { layer: string; status?: 'active' | 'deprecated' | 'draft'; include_tags?: boolean; } export interface SendMessageParams { from_agent: string; to_agent?: string | null; msg_type: 'decision' | 'warning' | 'request' | 'info'; message: string; priority?: 'low' | 'medium' | 'high' | 'critical'; payload?: any; } export interface GetMessagesParams { agent_name: string; unread_only?: boolean; priority_filter?: 'low' | 'medium' | 'high' | 'critical'; msg_type_filter?: 'decision' | 'warning' | 'request' | 'info'; limit?: number; } export interface MarkReadParams { message_ids: number[]; agent_name: string; } export interface RecordFileChangeParams { file_path: string; agent_name: string; change_type: 'created' | 'modified' | 'deleted'; layer?: string; description?: string; } export interface GetFileChangesParams { file_path?: string; agent_name?: string; layer?: string; change_type?: 'created' | 'modified' | 'deleted'; since?: string; limit?: number; } export interface CheckFileLockParams { file_path: string; lock_duration?: number; } export interface AddConstraintParams { category: string; constraint_text: string; priority?: 'low' | 'medium' | 'high' | 'critical'; layer?: string; tags?: string[]; created_by?: string; } export interface GetConstraintsParams { category?: string; layer?: string; priority?: 'low' | 'medium' | 'high' | 'critical'; tags?: string[]; active_only?: boolean; limit?: number; } export interface DeactivateConstraintParams { constraint_id: number; } export interface GetLayerSummaryParams { } export interface ClearOldDataParams { messages_older_than_hours?: number; file_changes_older_than_days?: number; } export interface GetStatsParams { } export interface SetDecisionResponse { success: boolean; key: string; key_id: number; version: string; message?: string; } export interface GetContextResponse { decisions: TaggedDecision[]; count: number; } export interface GetDecisionResponse { found: boolean; decision?: TaggedDecision; } export interface SearchByTagsResponse { decisions: TaggedDecision[]; count: number; } export interface GetVersionsResponse { key: string; history: Array<{ version: string; value: string; agent: string | null; timestamp: string; }>; count: number; } export interface SearchByLayerResponse { layer: string; decisions: TaggedDecision[]; count: number; } export interface SendMessageResponse { success: boolean; message_id: number; } export interface GetMessagesResponse { messages: Array<{ id: number; from_agent: string; msg_type: string; priority: string; payload: any; timestamp: string; read: boolean; }>; count: number; } export interface MarkReadResponse { success: boolean; } export interface RecordFileChangeResponse { success: boolean; change_id: number; timestamp: string; } export interface GetFileChangesResponse { changes: RecentFileChange[]; count: number; } export interface CheckFileLockResponse { locked: boolean; last_agent?: string; last_change?: string; change_type?: string; } export interface AddConstraintResponse { success: boolean; constraint_id: number; } export interface GetConstraintsResponse { constraints: TaggedConstraint[]; count: number; } export interface DeactivateConstraintResponse { success: boolean; } export interface GetLayerSummaryResponse { summary: LayerSummary[]; } export interface ClearOldDataResponse { success: boolean; messages_deleted: number; file_changes_deleted: number; } export interface GetStatsResponse { agents: number; files: number; context_keys: number; active_decisions: number; total_decisions: number; messages: number; file_changes: number; active_constraints: number; total_constraints: number; tags: number; scopes: number; layers: number; } export type { Database }; //# sourceMappingURL=types.d.ts.map