{"version":3,"file":"get-contents-action.mjs","names":[],"sources":["../../src/actions/get-contents-action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ExaGetContentsActionInput: z.ZodTypeAny = z.object({\n  ids: z.array(z.string()).describe(\"(Deprecated alias for 'urls') A list of document IDs or URLs. Use 'urls' parameter instead for consistency with the Exa API.\").optional(),\n  text: z.union([z.boolean(), z.object({\n  verbosity: z.string().nullable().optional(),\n  maxCharacters: z.number().int().nullable().optional(),\n  excludeSections: z.array(z.string()).nullable().optional(),\n  includeHtmlTags: z.boolean().nullable().optional(),\n  includeSections: z.array(z.string()).nullable().optional(),\n}).describe(\"Configuration for customizing text extraction from documents.\")]).optional(),\n  urls: z.array(z.string()).describe(\"A list of fully qualified URLs (e.g., 'https://example.com/article') or document IDs (strings obtained from Exa search results) for which to retrieve content. At least one URL or ID must be provided.\").optional(),\n  extras: z.object({\n  links: z.number().int().default(0).describe(\"Number of links to extract from the document. Defaults to 0 (no links extracted).\").optional(),\n  imageLinks: z.number().int().default(0).describe(\"Number of image links to extract from the document. Defaults to 0 (no image links extracted).\").optional(),\n}).describe(\"Configuration for extracting additional metadata from documents.\").optional(),\n  summary: z.union([z.boolean(), z.object({\n  query: z.string().nullable().optional(),\n  schema: z.record(z.string(), z.unknown()).nullable().optional(),\n}).describe(\"Configuration for AI-generated summary extraction from documents.\")]).optional(),\n  subpages: z.number().int().default(0).describe(\"Number of subpages to crawl per URL. Enables crawling linked pages within a site in one request. Defaults to 0 (no subpage crawling).\").optional(),\n  highlights: z.union([z.boolean(), z.object({\n  query: z.string().nullable().optional(),\n  maxCharacters: z.number().int().nullable().optional(),\n}).describe(\"Configuration for customizing AI-generated highlight extraction from documents.\")]).optional(),\n  maxAgeHours: z.number().int().describe(\"Controls content freshness. `0` = always livecrawl, `-1` = never livecrawl (cache only), `None` or positive integer = livecrawl as fallback if cached content is older than specified hours.\").optional(),\n  subpageTarget: z.union([z.string(), z.array(z.string())]).optional(),\n  livecrawlTimeout: z.number().int().default(10000).describe(\"Timeout in milliseconds for livecrawl operations. Recommended: 10000-15000 when forcing livecrawl. Defaults to 10000.\").optional(),\n}).describe(\"Parameters for retrieving content from specified URLs or Exa document IDs.\");\nconst ExaGetContentsAction_ExtrasDataSchema: z.ZodTypeAny = z.object({\n  links: z.array(z.string()).describe(\"Extracted links from the document.\").optional(),\n  imageLinks: z.array(z.string()).describe(\"Extracted image links from the document.\").optional(),\n}).describe(\"Additional metadata extracted from documents.\");\nconst ExaGetContentsAction_ContentResultItemSchema: z.ZodTypeAny = z.lazy((): z.ZodTypeAny => z.object({\n  id: z.string().describe(\"The unique ID of the document or the URL provided in the request.\"),\n  url: z.string().describe(\"The canonical URL of the document, if available.\").optional(),\n  text: z.string().describe(\"The extracted text content of the document, if requested. With `text=true`, responses can be very large; set `maxCharacters` in a `TextOptions` object to cap length and prevent token overflow. Extracted text may include navigation boilerplate, flattened tables, and duplicate content — plan for post-processing.\").optional(),\n  image: z.string().describe(\"URL of the main image for the document, if available.\").optional(),\n  title: z.string().describe(\"The title of the document.\").optional(),\n  author: z.string().describe(\"The author of the document, if available.\").optional(),\n  extras: ExaGetContentsAction_ExtrasDataSchema.nullable().optional(),\n  favicon: z.string().describe(\"URL of the favicon for the document's site, if available.\").optional(),\n  summary: z.string().describe(\"AI-generated summary of the document, if requested.\").optional(),\n  subpages: z.array((ExaGetContentsAction_ContentResultItemSchema as z.ZodTypeAny)).describe(\"Nested results from subpage crawl, if requested. Each subpage has the same structure as a top-level result.\").optional(),\n  highlights: z.array(z.string()).describe(\"A list of AI-generated highlight snippets from the document content, if requested. Prefer `highlights` with `text=false` when only key passages are needed, to reduce payload size and cost.\").optional(),\n  publishedDate: z.string().describe(\"The publication date of the document (e.g., YYYY-MM-DD).\").optional(),\n})) as z.ZodTypeAny;\nconst ExaGetContentsAction_StatusErrorSchema: z.ZodTypeAny = z.object({\n  tag: z.string().describe(\"Error tag identifying the failure type: CRAWL_NOT_FOUND, CRAWL_TIMEOUT, CRAWL_LIVECRAWL_TIMEOUT, SOURCE_NOT_AVAILABLE, UNSUPPORTED_URL, CRAWL_UNKNOWN_ERROR\"),\n  httpStatusCode: z.number().int().describe(\"HTTP status code associated with the error, if applicable.\").optional(),\n}).describe(\"Error details for a failed content retrieval.\");\nconst ExaGetContentsAction_ContentStatusSchema: z.ZodTypeAny = z.object({\n  id: z.string().describe(\"The URL or document ID from the request.\"),\n  error: ExaGetContentsAction_StatusErrorSchema.nullable().optional(),\n  source: z.string().describe(\"Source of the content: 'cached' or 'livecrawl'.\").optional(),\n  status: z.string().describe(\"Status of content retrieval: 'success' or 'error'.\"),\n}).describe(\"Status information for a single URL/ID in the request.\");\nexport const ExaGetContentsActionOutput: z.ZodTypeAny = z.object({\n  results: z.array((ExaGetContentsAction_ContentResultItemSchema as z.ZodTypeAny)).describe(\"A list of ContentResultItem objects, one for each successfully processed document ID or URL from the request. Each item provides detailed content and metadata for a document.\"),\n  statuses: z.array(ExaGetContentsAction_ContentStatusSchema).describe(\"Status information for each requested URL. CRITICAL: The endpoint returns HTTP 200 even when individual URLs fail — always inspect this array for errors like CRAWL_NOT_FOUND, CRAWL_LIVECRAWL_TIMEOUT, SOURCE_NOT_AVAILABLE, UNSUPPORTED_URL.\"),\n  requestId: z.string().describe(\"A unique string identifier assigned by the Exa service to this specific API request instance, useful for logging and support.\"),\n  costDollars: z.record(z.string(), z.unknown()).describe(\"A dictionary providing details about the monetary cost incurred for processing the API request. Structure may vary.\"),\n}).describe(\"Response containing document contents, including extracted text, highlights, and metadata.\");\n\nexport const exaGetContentsAction = action(\"EXA_GET_CONTENTS_ACTION\", {\n  slug: \"exa-get-contents-action\",\n  name: \"Get contents from URLs or document IDs\",\n  description: \"Retrieve text / highlights / summary / subpages from URLs. The endpoint returns HTTP 200 even when individual URLs fail — always inspect `statuses[]` for CRAWL_NOT_FOUND, CRAWL_LIVECRAWL_TIMEOUT, SOURCE_NOT_AVAILABLE. Control freshness with `maxAgeHours` (0 = always livecrawl, -1 = cache only). Use `subpages` + `subpageTarget` to crawl linked pages within a site in one request.\",\n  input: ExaGetContentsActionInput,\n  output: ExaGetContentsActionOutput,\n});\n"],"mappings":"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"}