Files
gemini-cli/packages/core/src/context/ir/mapper.ts
T

32 lines
831 B
TypeScript
Raw Normal View History

/**
* @license
* Copyright 2026 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
2026-04-06 19:31:18 +00:00
import type { Content } from '@google/genai';
import type { Episode } from './types.js';
import { toIr, setMapperConfig } from './toIr.js';
import { fromIr } from './fromIr.js';
export class IrMapper {
static setConfig(cfg: { charsPerToken?: number }) {
2026-04-06 19:31:18 +00:00
setMapperConfig(cfg);
}
/**
* Translates a flat Gemini Content[] array into our rich Episodic Intermediate Representation.
* Groups adjacent function calls and responses into unified ToolExecution nodes.
*/
static toIr(history: readonly Content[]): Episode[] {
2026-04-06 19:31:18 +00:00
return toIr(history);
}
/**
* Re-serializes the Episodic IR back into a flat Gemini Content[] array.
*/
static fromIr(episodes: Episode[]): Content[] {
2026-04-06 19:31:18 +00:00
return fromIr(episodes);
}
}