import type { CompareRefsInput } from '../../infrastructure/time-travel.js'; import type { ContextSessionState } from '../../contracts/context-session.js'; import type { KnowledgeGraph } from '../../contracts/graph.js'; interface StdioResponse { jsonrpc: '2.0'; id: string | number | null; result?: unknown; error?: { code: number; message: string; }; } interface ToolHelpers { ok(id: string | number | null, result: unknown): StdioResponse; failure(id: string | number | null, code: number, message: string): StdioResponse; textToolResult(text: string): { content: Array<{ type: 'text'; text: string; }>; }; errorToolResult(text: string): { content: Array<{ type: 'text'; text: string; }>; isError: true; }; stringParam(params: unknown, key: string): string | null; stringParamAlias(params: unknown, keys: readonly string[]): string | null; numberParamAlias(params: unknown, keys: readonly string[], options?: { min?: number; max?: number; }): number | null; recordParam(params: unknown, key: string): Record | null; loadGraphCached(graphPath: string): KnowledgeGraph; queryOptionsFromParams(id: string | number | null, params: unknown): { failureResponse?: StdioResponse; queryOptions?: Record; }; handleGraphDiff(id: string | number | null, currentGraphPath: string, params: unknown): StdioResponse; compareRefs(input: CompareRefsInput): Promise; getContextPromptSession(sessionId: string): ContextSessionState | undefined; setContextPromptSession(sessionId: string, nextState: ContextSessionState): void; clearContextPromptSession(sessionId: string): boolean; strictContextPackMode: boolean; getContextPackHandle(handleId: string): unknown; takeContextPackHandle(handleId: string): unknown; setContextPackHandle(handleId: string, expansion: unknown): void; clearContextPackHandles(): void; getContextPackCache(cacheKey: string): string | undefined; setContextPackCache(cacheKey: string, payloadText: string): void; clearContextPackCache(cacheKey: string): boolean; /** Slice #81 — returns node ids already shipped to this delta session. */ getContextPackNodeIds(sessionId: string): string[]; /** Slice #81 — records additional node ids shipped to a delta session. */ recordContextPackNodeIds(sessionId: string, nodeIds: string[]): void; /** Slice #81 — clears the recorded node-id set for a delta session. */ clearContextPackNodeIds(sessionId: string): boolean; readStoredCommunityLabels(graphPath: string): Record; jsonrpcInvalidParams: number; jsonrpcServerError: number; maxStdioTextLength: number; maxStdioHops: number; maxStdioTokenBudget: number; } export declare function constrainStrictContextPackPayload>(payload: T, helpers: Pick): T; export declare function handleToolCall(id: string | number | null, graphPath: string, params: unknown, helpers: ToolHelpers): StdioResponse | Promise; export {};