Shipped Workflows¶
A fresh Gateway install serves a ready-to-use workflow registry. In bundle
mode (the default), Gateway loads the .flow bundles packaged with the wheel,
so you can run a proven coding agent, a deep-research pipeline, and a
co-scientist hypothesis engine out of the box — no manual bundle install.
List them on a running gateway:
curl -sS -H "Authorization: Bearer $TOKEN" \
"http://127.0.0.1:8080/api/gateway/bundles"
The shipped set¶
flow_id values below are what you pass to the API — an entrypoint's display
name is not resolvable. A * marks the bundle's default entrypoint, used when
you omit flow_id. The name and the one-line description are what the
Workflows page and the console TUI show for each bundle.
| Bundle | Version | Name | flow_id (interfaces) |
What it does |
|---|---|---|---|---|
basic-agent |
0.0.5 | Basic agent | 81795ea9* (abstractcode.agent.v1) |
Chat agent: answers a prompt in one agent loop that can use tools and memory, and returns the reply. The default agent for chat hosts and entities. |
coding-agent |
0.2.8 | Coding agent | coding-agent* (abstractcode.coding.v1) |
Takes a build request and a workspace, writes the code, and runs build and run checks each round until they pass; returns a report. |
| Coding agent (chat) | coder (abstractcode.agent.v1) |
Chat version of the coding agent: builds what the prompt asks in the session workspace, checks it each round, and replies with a report. | ||
deep-research |
0.1.8 | Deep research | deep-research* (abstractcode.agent.v1, abstractresearch.deep.v1) |
Takes a research question, searches the web, has three critics review the draft, and writes a cited report (Markdown, PDF, DOCX). See deep-research.md. |
co-scientist |
0.2.1 | Co-scientist | co-scientist* (abstractresearch.coscientist.v1) |
Takes a research goal, grounds it in web sources, then generates, debates and ranks hypotheses over cycles; returns a research overview. |
abstractassistant-orchestrator |
0.0.0 | AbstractAssistant Orchestrator | d5d4e5a1* (abstractassistant.agent.v1) |
The menu-bar Assistant's workflow: sends each request to a tools agent or to image, video or music generation, and returns the reply. |
docs-qa |
0.1.2 | Docs Q&A | docsqa001* |
Answers a question about an app from that app's documentation (its llms.txt), citing it, and says so when the docs do not cover it. History comes from the run's session; also auto-published into the tenant workflow catalog at boot. 0.1.2 changes only the name and description; 0.1.1 and 0.1.0 stay installed for what pins them. |
react-agent |
0.1.0 | ReAct agent | react* (abstractcode.agent.v1) |
Chat agent (ReAct): reasons step by step and calls tools until it can answer the prompt, then returns the reply. |
codeact-agent |
0.1.0 | CodeAct agent | codeact* (abstractcode.agent.v1) |
Chat agent (CodeAct): works on the prompt mainly by writing and running Python code, then returns the reply. |
memact-agent |
0.1.0 | MemAct agent | memact* (abstractcode.agent.v1) |
Chat agent (MemAct): keeps a long-term memory that it reads and updates on each turn, can call tools, and returns the reply. |
A source checkout (flows/bundles/ in the repository) also carries building
blocks that the wheel does not ship: map-reduce (Map-reduce),
structured-extract (Structured extraction), adversarial-review (Adversarial
review) and six deliberation patterns (meta-baseline, meta-consensus,
meta-debate, meta-deliberate, meta-perspectives, meta-reflect).
The names and descriptions come from one table in the AbstractFlow repository
(scripts/workflow_labels.py); scripts/relabel_shipped_bundles.py check
verifies that the build scripts and the latest shipped bundles carry it.
Interfaces are how clients pick workflows without knowing bundle internals:
anything declaring abstractcode.agent.v1 can serve a plain chat prompt.
AbstractCode TUI resolves its default agent through that contract — a saved
preference first, then coding-agent's coder when installed, then
basic-agent — so a stock Gateway gives it the verify-gated coder by
default.
Running one¶
Start a run with the normal runs API (see api.md for the full
contract and streaming). flow_id selects an entrypoint; omit it to run the
bundle's default entrypoint:
curl -sS -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"bundle_id":"coding-agent","flow_id":"coder","input_data":{"prompt":"Write a CLI that ..."}}' \
"http://127.0.0.1:8080/api/gateway/runs/start"
deep-research takes request, viewpoint, and effort inputs
(deep-research.md); co-scientist takes a research_goal
and scales its effort with max_cycles.
Markdown, PDF, and DOCX export work on a base install. co-scientist also
draws two figures (an architecture diagram and an Elo trajectory) through the
write_chart node, which needs matplotlib. That package is not part of the
base install: without it the run still completes and reports its findings, and
only the figures are skipped. Install it if you want them:
pip install matplotlib
Managing workflows from the console¶
Both consoles carry a Workflows surface — a tab in the web console, screen 3 in the console-TUI — listing one row per workflow bundle registered on this gateway: its name, what it does, its latest version (and how many older ones), its source ("Shipped with the gateway", "Imported" or "Published from AbstractFlow") and the apps that use it. Select a workflow to see its versions and its entrypoints with their names, descriptions and the apps that use them. Below the list, Default workflow per app chooses which workflow runs when an app asks for "an agent" without naming one (see console.md).
From there you can:
- Import one or more
.flowbundles. Each file reports whether the gateway is serving the result, not merely that the upload succeeded. - Export a version as its original
.flowbytes, byte-identical to what is installed, so it can be archived or re-installed elsewhere. In the TUI,ewrites the file next to your working directory. - Delete a single version or every version of a workflow, behind a
confirmation that states what is irreversible. Deleting a workflow that ships
with the gateway removes its file: nothing puts it back at the next restart,
only reinstalling the gateway does. In the TUI,
dremoves the selected version andDthe whole workflow.
Bundle files the gateway cannot run are listed separately under Broken workflows, with the versions affected and the reason. They stay on disk until you remove them.
Who can change the registry¶
The gateway's own bundle directory is the shared set: every user sees it and can run what it contains. Changing it is an operator act, so installing, replacing, removing, deprecating and reloading workflows there require an admin principal. Listing and running remain available to every user.
Under hosted user auth each principal also gets its own workflow registry, and you can install and archive workflows there without admin rights — the shared directory stays visible and read-only alongside it. The rule is ownership: you may change the registry you own.
The same check covers every route that writes the registry, including
POST /bundles/upload, POST /bundles/{bundle_id}/archive, POST /bundles/reload
and POST /visualflows/{flow_id}/publish. A non-admin request against the
shared registry returns 403.
Workflows are archived, never deleted (DELETE /bundles/{bundle_id} answers
410). Bundles that ship with the gateway, basic-agent.flow included, cannot
be archived either (409); an admin hides one from users with the Available
to users switch on the console's Workflows page.
Customizing the registry¶
- The shipped registry is used when
ABSTRACTGATEWAY_FLOWS_DIRis unset; point it at your own bundle directory to serve a custom set (configuration.md). - Shipped bundle versions are immutable pins; newer versions install alongside them through the normal bundle upload or workflow catalog routes.
- The editable sources for the shipped workflows are VisualFlow JSON files in
the AbstractFlow repository (
examples/flows/), packed into.flowbundles with AbstractRuntime'sabstractruntime.workflow_bundle.pack_workflow_bundle.