BotWatchLinkRequest bot.watch-link-request@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Version
1.0.0
Owner
bot
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/bot/watch-link-request.v1.json

bot.watch-link-request@1: the watch link an agent asks for on a person's own machine (plan L55). The desk is one an agent works on — the private desk or an agent task's own desk (desk-<name>), never the owner's own screen — and the link lives for minutes, not days.

Fields

FieldTypeRequiredDescriptionConstraints
deskstringyesThe desk the link shows: private, or the agent task's desk-<name>. The owner's own screen (main) is never an agent's to link.
  • pattern ^(private|desk-[a-z0-9][a-z0-9-]{0,23})$
controlbooleantrue: the holders may use the mouse and keyboard too, at the level the owner set on the machine. Absent: they may only watch.
minutesintegerHow long the link lives. Absent: 60 minutes.
  • minimum 5
  • maximum 240
labelstringWhere the owner put the link ("the chat").
  • maxLength 80

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: task-desk
{
  "desk": "desk-task-a",
  "minutes": 30
}
Valid: watch-only
{
  "desk": "desk-research"
}
Valid: with-control
{
  "desk": "private",
  "control": true,
  "minutes": 60,
  "label": "the chat"
}
Rejected: bad-desk
{
  "desk": "desk-../x"
}
Rejected: no-desk
{
  "minutes": 30
}
Rejected: owners-screen
{
  "desk": "main",
  "minutes": 30
}
Rejected: too-short
{
  "minutes": 2
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('bot.watch-link-request@1', value);   // { valid, errors: [{ path, message }] }