Coming soon. This page is our current thinking, not a shipped contract — names and shapes may change. What works today: large event bodies already spill to a
content_ref you can fetch, and events can carry forward refs.artifacts[]. The first-class collection below is what comes next.Durable vs live
The split is what lets a panel survive a refresh:file/link— durable. Snapshotted to storage at publish; fetchable forever, even after the session’s machine is gone. (Reports, build outputs, screenshots, diffs.)preview— live. A URL into the running session machine. The entry is durable (you always get it back on reload), but the served app is bound to a warm machine, so it carries astatus(live/cold) and can be resumed.
How the agent publishes
The runtime would get two tools alongsidebash/read/write:
oc.preview(port)— expose a port of the session’s machine as a preview URL.oc.publish(path)— snapshot a file as a durable artifact.
user-level event and upserts the artifact, so it reaches your UI as soon as it’s produced.
How your app would consume it
The same snapshot-plus-stream pattern as events: list on load, subscribe for changes.Actively being designed — if you have a shape in mind or want it sooner, tell us how you’d use it.