← Use cases

How do you hand off files between agents in a pipeline?

Agent A finishes a step and Agent B needs its output to start the next one. If they run in the same process, that's easy. If they run as separate invocations, on different machines, or in different containers, there is no shared filesystem to drop a file into, and inventing a path convention breaks the moment someone doesn't follow it.

Agent A pushes its output with a session ID. Agent B lists that session, or pulls the artifact directly by ID. Both only need an API key and the session string, nothing about where the other agent ran or what its filesystem looked like.

When the pipeline is done, seal the session so a late-arriving or zombie agent can't add a file to a run that already finished. For the step where a human needs to read the final output, see sharing an agent's report.

Try it

# Agent A: pushes its output under a shared session
artifacta push ./stage1-output.json --session pipeline_run_42 --agent extractor
 
# Agent B: finds and pulls what Agent A produced
artifacta ls --session pipeline_run_42 --agent extractor
artifacta pull art_2xk9f7v3m1p0
 
# Orchestrator: locks the run once every agent is done
artifacta session seal pipeline_run_42
✓ Session "pipeline_run_42" sealed

Live proof

This is API-level behavior (sessions and sealing), not a single page to click through. Run the three commands above against your own session ID.

Get started for free

Related