Skip to content

TroveIngestDoc

A document to write into the knowledge base via TroveClient.ingest.

PropertyTypeDescription
audioUrl?stringBack-compat alias for an audio file URL; treated as fileUrl + audio/mpeg.
author?stringOptional author / byline.
captureOnly?booleanStore 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?stringThe 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?stringThe 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?TroveIngestFallbackA 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?TroveIngestFeedThe feed (sub-grouping) this document belongs to within the toolkit’s source. Optional — omit for a flat list under the source. See TroveIngestFeed.
fileUrl?stringA 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?stringMIME 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?stringThe document text to index. Optional when a fileUrl/audioUrl is supplied (the captured file becomes the body); required otherwise.
titlestringThe document title.
url?stringOptional canonical URL of the source.