/** * Parses a VS Code (Copilot agent) JSONL transcript into the FullMessage[] * format used by the indexer. * * VS Code writes transcripts to: * //GitHub.copilot-chat/transcripts/.jsonl * * The transcript is an ordered event stream. Each line is a JSON object with: * - `type`: event type string * - `data`: event-specific payload * - `id`: unique event UUID * - `timestamp`: ISO 8601 timestamp * - `parentId`: UUID of the parent event (forms a tree) * * Known event types: * - `session.start` — session metadata (first line) * - `user.message` — user turn: { content: string, attachments: [] } * - `assistant.turn_start` — marks the start of an assistant turn * - `assistant.message` — assistant text: { messageId, content, toolRequests, reasoningText? } * - `tool.execution_start` — tool call: { toolCallId, toolName, arguments } * - `tool.execution_complete` — tool result: { toolCallId, result, success } * - `assistant.turn_end` — marks the end of an assistant turn */ import type { FullMessage } from "./types"; /** * Parses a VS Code JSONL transcript file into FullMessage[]. * * Produces one FullMessage per logical turn: * - user.message → role "user" with text part * - assistant.message + associated tool calls → role "assistant" with * text part and tool-invocation parts * - tool.execution_complete → added as tool-invocation result to the * preceding assistant message (if matched) or as a standalone tool message */ export declare function parseVscodeTranscript(transcriptPath: string): FullMessage[]; /** * Derives a session title from the transcript messages. * Uses the first meaningful user message text, truncated to 60 chars. */ export declare function deriveVscodeSessionTitle(messages: FullMessage[]): string; //# sourceMappingURL=vscode-transcript-to-messages.d.ts.map