/** * companion-chat-attachments.ts * * Pure attachment-resolution + provider-content helpers for CompanionChatManager. * Extracted so the manager file stays within its line budget; behaviour is * unchanged, every function takes the artifact store explicitly instead of * reaching through `this`. */ import { Buffer } from 'node:buffer'; import type { ContentPart } from '../providers/interface.js'; import type { ArtifactDescriptor } from '../artifacts/index.js'; import type { CompanionChatMessageAttachment, CompanionChatMessageAttachmentInput, CompanionChatMessage } from './companion-chat-types.js'; export declare const MAX_ATTACHMENTS_PER_MESSAGE = 8; export interface CompanionChatArtifactStore { get(artifactId: string): ArtifactDescriptor | null; readContent(artifactId: string): Promise<{ readonly record: { readonly mimeType: string; readonly filename?: string | undefined; }; readonly buffer: ArrayBuffer | Uint8Array | Buffer; }>; } export declare function toNodeBuffer(buffer: ArrayBuffer | Uint8Array | Buffer): Buffer; export declare function resolveAttachments(inputs: readonly CompanionChatMessageAttachmentInput[], artifactStore: CompanionChatArtifactStore | null): CompanionChatMessageAttachment[]; export declare function formatAttachmentSummary(attachments: readonly CompanionChatMessageAttachment[]): string; export declare function buildReplayUserContent(message: CompanionChatMessage): string; export declare function buildProviderUserContent(content: string, attachments: readonly CompanionChatMessageAttachment[], artifactStore: CompanionChatArtifactStore | null): Promise; //# sourceMappingURL=companion-chat-attachments.d.ts.map