Volter World

Twins / Tavily / 1.0.1

@volter/twin-tavily

Tavily

volter-aiVolter maintainedSelected defaultv1.0.1

Tavily twin (Protocol 3): search over the World's web by lexical overlap, with a labeled stub answer (no web is searched, no model runs), and API keys. Built on @volter/world-core.

Publisher README included in @volter/twin-tavily 1.0.1. Setup gives the installation instructions for this selected version.

Tavily Search (POST /search) and Extract (POST /extract) at api.tavily.com, for Postiz's shipped post-generator research and LibreChat's agent tools. Postiz's deployment key authorizes that feature; its caller is recorded in demand.json. LibreChat users select and authenticate Tavily extraction in the in-app scraper key dialog; the exact caller commits are in demand.json.

The World supplies a synthetic web corpus. Search ranks its pages by lexical overlap, with topic, domain restriction/preference, date, country, language, exact-phrase and safety options. It returns requested chunks, Markdown/text raw content, images/descriptions, favicon, publication date and usage. Answer and automatic-parameter judgment are scripted by the World or labeled deterministic stubs; no model or live web search runs. Advanced depth changes documented credit usage, and ultra-fast uses the corpus's supplied summary.

Extract reads held corpus pages or a source the World routes through ctx.vendorFetch, including the application's own pages. An unregistered, failing or simulated slow source becomes a per-URL failure. Depth selects supplied advanced content; query/chunk limits, Markdown/text, images, favicon and timeout options apply to each URL. Credit accounting follows successful extractions, in groups of five per depth.

Authentication accepts the World-issued key in Authorization: Bearer or api_key in the body. The key is held by its hash and regenerated from the World's secret. No real credentials are needed.

The doors are:

  • POST /_twin/app-credentials {}: the dashboard's first key, returned identically on subsequent boots and wired to TAVILY_API_KEY.
  • POST /_twin/pages {url, title, content, ...}: a synthetic source page; the same URL replaces its record. Optional fields are raw_content, text_content, advanced_content, summary, images (URLs or {url, description} objects), favicon, topic, published_date, country, language (an ISO code), unsafe and fetch_seconds. These supply facts about a source that Tavily's API cannot create.

The World scenario supports operationEquals and queryEquals, status faults in Tavily's envelope, and search judgment {parameters: {topic?, search_depth?}, answer?}. Explicit input overrides automatic judgment; size options stay explicit. Source pages and their metadata are supplied through the door.

Crawl, Map, Research, Feedback, Usage and Logs answer the gap: no measured caller, life act or refresh brings them into scope. This compute API has no vendor-backed deployment/refresh half; keys, corpus pages, request ids and extraction counts are private World bookkeeping. Real semantic ranking, crawling, model answers and billing are outside this deterministic corpus.

The life, published examples, coverage and score retain their measured results. SDK cases are not owed by the measured clients: LibreChat uses raw fetch/axios for both operations, without the official @tavily/core SDK.

Set up this release

Use Node 22.6 or newer. Install the CLI, then the exact packages shown alongside:

npm install -g @volter/world@3.0.108

In your app’s folder, initialize a World with this implementation:

volter world init --name my-app --twins tavily --source tavily=@volter/twin-tavily

Review the detected vendor and retain the generated bindings. The tavily service’s source must select this version:

{
  "source": {
    "package": "@volter/twin-tavily",
    "version": "1.0.1"
  }
}

This is the source field, not a complete config. Keep the installed version, lockfile and generated service source in agreement. Use the release README for throwaway SDK credentials, seeds and limits.

Run your app’s own test command inside the World:

volter world up
volter world run -- npm test
volter world log
volter world down

down stops compute and retains state.

Versions and implementations

Package / versionPublisherStatusFirst use
@volter/twin-tavily1.0.1volter-aiSelected defaultNot measured

Evidence for 1.0.1

Installed first use · Not measured

Installed first use was not measured for this release. HTTP coverage and publisher trust do not establish this result.

API coverage, replay and browser measurements

Counts describe the declared HTTP surface, not separate command tables or other protocols. Consult the release README for those workflows.

Assessment scope
packaged-customer-journey; in-process
Declared HTTP surface
2 served · 7 gaps · 9 declared operations
Exercised HTTP operation coverage
2 / 9 declared operations (22.2%)
Journey steps
9 answered / 9 steps
Replay
Equal across 2 runs
Journey failures
0
Browser target
Chromium fetch, cookie jar and HTTP response behavior; no DOM interaction coverage 153.0.8010.12
HTTP operations exercised through Chromium
2 / 9 declared operations (22.2%)
Chromium journey replay
Equal across 2 runs
Browser response observation
Not recorded
Application-origin CORS coverage
Not measured
Native cookie-jar coverage
Not measured
DOM coverage
Not measured
Source code coverage
Not measured
State transition coverage
Not measured
Operations not exercised
  • tavily:crawl
  • tavily:createResearch
  • tavily:getResearch
  • tavily:getUsage
  • tavily:map
  • tavily:post_feedback
  • tavily:post_logs
Conformance results
  • decided: 0 failures · every served operation is decided with its demand; every demanded and every refreshed operation is served
  • published: 0 failures · what a release publishes holds every unit: its manifest, its spec and its journeys
  • cited: 0 failures · every vendor fact cited is recorded as a page that answered, each quote found on it
  • refresh: 0 failures · every stored resource of a vendor-backed unit declares how it is read back, and a unit that sends events ingests the vendor's
  • registered: 0 failures · a vendor-backed unit, lane or not, reaches the registered pack's state system
  • allowance: 0 failures · a rate budget above the fallback rests on the vendor's documented allowance, cited in its manifest
  • client: 0 failures · driven by the vendor's own client (its official SDK), served as a World runs it, the vendor's documented behaviour holds · tavily owes no client case: LibreChat uses raw Undici/axios; its demanded search and extraction clients do not use the official @tavily/core SDK. No official SDK behavior beyond a plain request is demanded.
  • life: 0 failures · the life walked over HTTP against the pack served as a World runs it, with its scenario: every check held
  • standalone: 0 failures · served by its server.ts as a World runs it, the pack answers HTTP and the boot probe, and each declared socket upgrades
Publisher, admission and provenance
Source commit
fc68f58800a69358ba79138f2d5e40222ce4d2c9
Catalog record commit
373e9ad779cd1eb68fb9f093d669a3f061d4e01d
Package integrity
sha512-ABLgHRXQAk3LjrdP5bWBXhS4WW+w5/KyuL9UrPREgJc+nhE/Sd8bR+EZha0qaFFzaQIHqfuo9yPlxA/O3fMqlQ==
Admission mode
Trusted internal publisher · maintainer merge
Catalog assessment
Bundled report checksum verified
Assessed at
Not recorded
Assessment input head
373e9ad779cd1eb68fb9f093d669a3f061d4e01d

Read the catalog snapshot

Catalog snapshot · @volter/twin-catalog@0.2.41
Source commit
a4c5e0664985a7f5a173b58cd307b88a7ddd2795
Catalog digest
5103e721dd9632a05ec4d5348d1b9e668ee092b3edf634c0e4b08f08efb76527
Installer integrity
sha512-uadY72Kz68IvyrNGcUCyJIOXAPQJz9dsyUgG7DUpTVFgZNseWyEQ1We/cSDi4Z9gPtd11owQAJ3EtAuIutcSQw==

Snapshot identity and measurements