/** * Core `read-attachment` agent tool. * * Large text pastes, CSVs, JSON files, and code files are truncated to * 60 K chars when injected into the model context. This action lets the agent * read the full content in offset/limit slices from the durable resource * stored at attach-time. * * Storage: text-y attachments are persisted as `agent_scratch` resources * keyed `attachments//` under the owner's scope. * The maximum stored size per attachment is 20 MB. */ import type { ActionEntry } from "../agent/production-agent.js"; /** * Determine whether a MIME type or filename represents a text-like attachment * that should be stored as a durable resource for paginated reads. */ export declare function isTextLikeMimeType(contentType: string | undefined): boolean; export declare function isTextLikeFilename(name: string | undefined): boolean; /** * Persist text-ish attachments from a chat turn as thread-scoped resources * so the agent can later read them in slices via `read-attachment`. * * Silently skips attachments that aren't text-like or have no text content. * Returns a map from attachment index → stored resource id for use in the * truncation-notice injected into the model context. */ export declare function persistTextAttachmentsAsResources(opts: { attachments: Array<{ type?: string; name?: string; contentType?: string; text?: string; }>; threadId: string; ownerEmail: string | null | undefined; }): Promise>; export declare function createCoreAttachmentActionEntries(): Record; //# sourceMappingURL=attachment-actions.d.ts.map