BotRobot bot.robot@1
Generated at from
openvibe-contracts v0.97.0 and
openvibe-sdk v0.26.0.
- Version
- 1.0.0
- Owner
- bot
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/bot/robot.v1.json
bot.robot@1: a robot on OpenVibe.Bot as its API presents it (domain.present.robot): its owner-chosen name, the device profile it runs, who may drive it (access_policy) and the latched e-stop.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes |
| |
name | string | yes |
| |
profile_id | string | yes |
| |
profile_version | any | |||
access_policy | enum | yes |
| |
limits | object | yes | ||
estop | object | yes | ||
estop.latched | boolean | yes | ||
estop.by | string | null | yes | ||
estop.at | string | null | yes |
| |
created_at | string | yes |
| |
updated_at | string | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: rover
{
"id": "rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
"name": "Rover",
"profile_id": "adeept.adr036",
"profile_version": 1,
"access_policy": "private",
"limits": {
"max_command_ms": 300
},
"estop": {
"latched": false,
"by": null,
"at": null
},
"created_at": "2026-09-29T19:20:00.000Z",
"updated_at": "2026-09-29T19:20:00.000Z"
}Rejected: bad-policy
{
"id": "rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
"name": "Rover",
"profile_id": "adeept.adr036",
"profile_version": 1,
"access_policy": "public",
"limits": {
"max_command_ms": 300
},
"estop": {
"latched": false,
"by": null,
"at": null
},
"created_at": "2026-09-29T19:20:00.000Z",
"updated_at": "2026-09-29T19:20:00.000Z"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('bot.robot@1', value); // { valid, errors: [{ path, message }] }