LiveAgentStreamStepRequest live.agent-stream-step-request@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- live
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/live/agent-stream-step-request.v1.json
live.agent-stream-step-request@1 (the Agent Streams plan, S2): the body of POST /api/streams/agent/:id/steps on OpenVibe.Live, which answers 201 with the step it stored (live.agent-stream-step@1). The publisher posts with its publish ticket (Authorization: Bearer wpt_…), and Codes and Actor post through their service tokens with live.agent_stream.publish for the person. AT is when the step began (the agent may say so; Live takes its own clock when it is absent), TITLE says what the step is (at most 120 characters), STATUS says how it stands, DETAIL is the optional longer line (at most 500 characters), TESTS and COST_USD are the optional reports. Live refuses more than one step a second, more than two thousand steps per stream, a title over 120 characters or a detail over 500, and text the house filters refuse.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
at | string |
| ||
title | string | yes |
| |
status | enum | yes |
| |
detail | string |
| ||
tests | object |
| ||
tests.passed | integer | yes |
| |
tests.failed | integer | yes |
| |
cost_usd | number |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: one
{
"title": "Run the checkout tests",
"status": "started"
}Valid: with-reports
{
"at": "2026-11-06T10:00:00.000Z",
"title": "Run the checkout tests",
"status": "failed",
"detail": "expected 1 charge, received 2",
"tests": {
"passed": 1,
"failed": 1
},
"cost_usd": 0.42
}Rejected: no-status
{
"title": "Run the checkout tests"
}Rejected: title-too-long
{
"title": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"status": "started"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('live.agent-stream-step-request@1', value); // { valid, errors: [{ path, message }] }