UNPKG

buroventures-harald-code-core

Version:

Harald Code Core - Core functionality for AI-powered coding assistant

65 lines 2.04 kB
/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * Converts a PartListUnion into a string. * If verbose is true, includes summary representations of non-text parts. */ export function partToString(value, options) { if (!value) { return ''; } if (typeof value === 'string') { return value; } if (Array.isArray(value)) { return value.map((part) => partToString(part, options)).join(''); } // Cast to Part, assuming it might contain project-specific fields const part = value; if (options?.verbose) { if (part.videoMetadata !== undefined) { return `[Video Metadata]`; } if (part.thought !== undefined) { return `[Thought: ${part.thought}]`; } if (part.codeExecutionResult !== undefined) { return `[Code Execution Result]`; } if (part.executableCode !== undefined) { return `[Executable Code]`; } // Standard Part fields if (part.fileData !== undefined) { return `[File Data]`; } if (part.functionCall !== undefined) { return `[Function Call: ${part.functionCall.name}]`; } if (part.functionResponse !== undefined) { return `[Function Response: ${part.functionResponse.name}]`; } if (part.inlineData !== undefined) { return `<${part.inlineData.mimeType}>`; } } return part.text ?? ''; } export function getResponseText(response) { if (response.candidates && response.candidates.length > 0) { const candidate = response.candidates[0]; if (candidate.content && candidate.content.parts && candidate.content.parts.length > 0) { return candidate.content.parts .filter((part) => part.text) .map((part) => part.text) .join(''); } } return null; } //# sourceMappingURL=partUtils.js.map