TroveIngestDoc
A document to write into the knowledge base via TroveClient.ingest.
Properties
Section titled “Properties”| Property | Type | Description |
|---|---|---|
audioUrl? | string | Back-compat alias for an audio file URL; treated as fileUrl + audio/mpeg. |
author? | string | Optional author / byline. |
captureOnly? | boolean | Store the artifact + a searchable metadata record only; skip the AI processing (transcription / text extraction). Lets a caller capture now and enrich later, decoupled from the (possibly gated, possibly costly) pipeline. |
date? | string | The content’s own publish date — when the paper/episode/video was published, NOT when you are saving it (Trove records the ingest time separately). ISO 8601; a bare "2024-05-01" is fine. Set this whenever the upstream tells you. Only the toolkit knows the real date, and it’s what recency ranking and date filters sort on — a document saved without one is only ever as old as the day it was ingested. |
externalId? | string | The upstream’s own stable id for this content — a video id, an arXiv id, an episode id. It is the dedup key: saving the same externalId into the same feed twice is idempotent, and the second save returns the document already there instead of creating a duplicate. Set it whenever the upstream has an id, which is nearly always. Omit it and every save is a new document, so a user who saves the same video twice ends up with it twice. |
fallback? | TroveIngestFallback | A second artifact to capture if fileUrl isn’t there. Some sources publish the same document in more than one form, and only one of them reliably exists. arXiv is the example: it has back-rendered HTML for many papers but not all, while every paper has a PDF. Without this, a toolkit has to find out for itself — a HEAD request per candidate, before the save can even begin, on a tool call the platform cancels after about eight seconds. That is what made a burst of arXiv saves time out. Name the preferred artifact as fileUrl and the sure thing here, and Trove finds out which exists SERVER-side, off the tool’s clock. A miss costs a retry nobody is waiting on, and the fallback lands on the same document — it is a retry, not a second copy. |
feed? | TroveIngestFeed | The feed (sub-grouping) this document belongs to within the toolkit’s source. Optional — omit for a flat list under the source. See TroveIngestFeed. |
fileUrl? | string | A file to capture into the knowledge base by URL (PDF, audio, …). Trove fetches and stores the artifact; with captureOnly it is retained as-is, otherwise it is processed (PDF → text, audio → transcript) when the tenant is entitled. Public-internet URL only (egress is SSRF-guarded). |
mimeType? | string | MIME type for fileUrl (e.g. application/pdf, audio/mpeg). |
tags? | string[] | Optional tags to file the document under. Trimmed and deduped; at most 32 tags of 64 characters each. |
text? | string | The document text to index. Optional when a fileUrl/audioUrl is supplied (the captured file becomes the body); required otherwise. |
title | string | The document title. |
url? | string | Optional canonical URL of the source. |