AiChoiceV1 ai.choice@1

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

Version
1.0.0
Owner
ai
Visibility
public
Status
active
Compatibility
backward
Decision
ADR-001
Schema
https://openvibe.network/contracts/ai/choice.v1.json

One model and where it comes from, for a task or a run: OpenVibe's supply (openvibe), the person's own provider key (keys), or one of their own computers through OpenVibe Link (machines). A machine choice names the machine; the other sources never do. Used by ai.run-request@1, ai.task@1 and ai.task-defaults@1.

Fields

FieldTypeRequiredDescriptionConstraints
modelstringyes
  • pattern ^[a-zA-Z0-9._:/@+\-]{1,200}$
sourceenumyes
  • one of "openvibe", "keys", "machines"
machinestring
  • pattern ^(any|dev_[0-9A-HJKMNP-TV-Z]{26})$

Examples

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

Valid: basic
{
  "model": "anthropic/claude-opus-5-5",
  "source": "openvibe"
}
Rejected: basic
{
  "model": "llama",
  "source": "machines"
}

Validate

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