import type { TranscriptEntry } from "../types/agent.js"; import type { InteractionCategory } from "../types/scoring.js"; /** Optional context for richer classification of tool_use entries. */ export interface CategorizationContext { /** Summarized tool input (e.g. "file_path: src/index.ts"). */ toolInputSummary?: string | null; /** Whether this entry was detected as a network call during normalization. */ isNetworkCall?: boolean; /** * ACP semantic tool kind, when available. Used as a fallback when the * tool name is a human-readable title (e.g. "Writing to README.md") rather * than a stable identifier matched by ENVIRONMENT_TOOL_NAMES / AGENT_TOOL_NAMES. */ kind?: string | null; } /** * Classify a transcript entry into one or more interaction categories. * * - **environment**: OS, filesystem, shell, dev tooling * - **agent**: assistant reasoning, system messages, self-configuration * - **service**: external APIs, MCP tools, network calls * * An interaction can belong to multiple categories (e.g. `Bash(curl ...)` is both * environment and service). Classification is deterministic from tool name, entry type, * and optional context. */ export declare function categorizeInteraction(entryType: TranscriptEntry["type"], toolName: string | null, context?: CategorizationContext): InteractionCategory[]; //# sourceMappingURL=categorize.d.ts.map