Skip to content
Registry

tabstack

v0.2.0

Browsing infrastructure for AI agents on the iii bus — tabstack::* functions turn any URL into clean markdown or structured JSON, and run cited web research through the hosted Tabstack API.

license: Apache-2.0webscrapingextractionmarkdownresearchbrowseragentsurl

Install

bash
iii trigger compose::add worker=tabstack@next

Run in your project with the iii engine running. Exact versions are immutable and digest-pinned.

Functions5

tabstack::automate

Function

Drive a browser with a plain-language task: navigate, read, fill forms, complete multi-step flows. Returns the agent's final answer. Supply every value the task needs in `data` — a value that is missing may be filled with something the agent invented rather than reported, so do not rely on it to ask. Runs for minutes, so raise your call timeout well above the 30s default.

Request
  • dataobject

    Values the task may need, e.g. form fields. Supply these up front: if the agent needs something that is missing, the call returns tabstack_input_required naming the fields rather than guessing.

  • guardrailsstring

    Safety constraints, e.g. "browse and extract only, do not submit any form".

  • max_iterationsinteger

    Cap on task iterations. Default 50.

  • taskstringrequired

    What to do, in plain language. e.g. "Find the top 3 trending repositories and extract their names and star counts".

  • trusted_hostnamesstring[]

    Hostnames where filling and submitting is permitted. Page content on these hosts can steer the agent, so list only sites you trust with the data in `data`.

  • urlstring

    Page to start from.

Response
  • errorstring

    Failure code, present only when ok is false. One of: tabstack_auth_failed, tabstack_out_of_credits, tabstack_rate_limited, tabstack_not_found, tabstack_invalid_request, tabstack_upstream_error.

  • messagestring

    Human-readable failure detail, present only when ok is false.

  • okbooleanrequired

    True on success. When false, read `error` and `message` instead of the result fields.

  • resultstring

    The agent's final answer once the task completed.

tabstack::extract-json

Function

Pull structured data off a page into a shape you define. Supply a JSON Schema and get back matching data. This is the cheaper of the two JSON functions — reach for it whenever the schema alone says enough about what you want.

Request
  • effortstringenum min, standard, max

    Speed against capability. "min" is fastest with no fallback (1-5s); "standard" is balanced (3-15s); "max" renders in a full browser for JS-heavy sites (15-60s).

  • json_schemaobjectrequired

    JSON Schema describing the shape you want back. Drives the structure of `data`.

  • nocacheboolean

    Bypass cache and refetch.

  • urlstringrequired

    URL to extract structured data from.

Response
  • dataobject

    The extracted or generated object, matching the `json_schema` you supplied.

  • errorstring

    Failure code, present only when ok is false. One of: tabstack_auth_failed, tabstack_out_of_credits, tabstack_rate_limited, tabstack_not_found, tabstack_invalid_request, tabstack_upstream_error.

  • messagestring

    Human-readable failure detail, present only when ok is false.

  • okbooleanrequired

    True on success. When false, read `error` and `message` instead of the result fields.

tabstack::extract-markdown

Function

Fetch a URL and return it as clean markdown. Use this to read a web page. Prefer it over extract-json when you want the prose rather than specific fields.

Request
  • contentstringenum main, full

    Content scope. "main" returns the main article content; "full" returns the whole page including navigation, footer and links.

  • effortstringenum min, standard, max

    Speed against capability. "min" is fastest with no fallback (1-5s); "standard" is balanced (3-15s); "max" renders in a full browser for JS-heavy sites (15-60s).

  • metadataboolean

    Include Open Graph and HTML metadata as a separate response field.

  • nocacheboolean

    Bypass cache and refetch.

  • urlstringrequired

    URL to fetch and convert to markdown.

Response
  • contentstring

    The markdown content, with metadata as YAML frontmatter by default.

  • errorstring

    Failure code, present only when ok is false. One of: tabstack_auth_failed, tabstack_out_of_credits, tabstack_rate_limited, tabstack_not_found, tabstack_invalid_request, tabstack_upstream_error.

  • messagestring

    Human-readable failure detail, present only when ok is false.

  • metadataobject

    Page metadata. Present only when `metadata` was true.

  • okbooleanrequired

    True on success. When false, read `error` and `message` instead of the result fields.

  • urlstring

    The URL that was converted.

tabstack::generate-json

Function

Produce structured output from a page using natural-language instructions alongside a JSON Schema. Use it when the schema alone cannot say how the values should be derived — ranking, classifying, comparing across a whole page, or any case where you need to steer the interpretation. Costs more than extract-json, so prefer that one when a bare schema is sufficient.

Request
  • effortstringenum min, standard, max

    Speed against capability. "min" is fastest with no fallback (1-5s); "standard" is balanced (3-15s); "max" renders in a full browser for JS-heavy sites (15-60s).

  • instructionsstringrequired

    What to produce from the page. This is the reasoning task, not a selector.

  • json_schemaobjectrequired

    JSON Schema describing the shape you want back. Drives the structure of `data`.

  • nocacheboolean

    Bypass cache and refetch.

  • urlstringrequired

    URL to reason over.

Response
  • dataobject

    The extracted or generated object, matching the `json_schema` you supplied.

  • errorstring

    Failure code, present only when ok is false. One of: tabstack_auth_failed, tabstack_out_of_credits, tabstack_rate_limited, tabstack_not_found, tabstack_invalid_request, tabstack_upstream_error.

  • messagestring

    Human-readable failure detail, present only when ok is false.

  • okbooleanrequired

    True on success. When false, read `error` and `message` instead of the result fields.

tabstack::research

Function

Answer a question by researching the live web, returning a markdown report with inline citations. Use this when the answer is spread across sources you have not identified yet; use extract-markdown when you already know the page to read. Runs for tens of seconds or more, so raise your call timeout.

Request
  • fetch_timeoutinteger

    Seconds to allow for fetching each web page.

  • modestringenum fast, balanced

    How much work to do. "fast" answers quickly; "balanced" researches more thoroughly and costs more.

  • nocacheboolean

    Bypass cache and research afresh.

  • querystringrequired

    The question to answer. Maximum 10,000 characters.

Response
  • errorstring

    Failure code, present only when ok is false. One of: tabstack_auth_failed, tabstack_out_of_credits, tabstack_rate_limited, tabstack_not_found, tabstack_invalid_request, tabstack_upstream_error.

  • messagestring

    Human-readable failure detail, present only when ok is false.

  • metadataobject

    Cited pages, executed queries and metrics for the run. Page `fullText` is stripped; fetch a cited url with extract-markdown if you need the source text.

  • okbooleanrequired

    True on success. When false, read `error` and `message` instead of the result fields.

  • reportstring

    The answer as markdown, with inline citations to the sources used.

Triggers0

No triggers registered

Search the registry

Find workers, kits and executables, or jump to a page.