AiAdvisor ai.advisor@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
Schema
https://openvibe.network/contracts/ai/advisor.v1.json

How a run may ask a stronger model for advice. Off unless the caller asks; at most 3 uses and at most 100 words of advice come back, and each use is on the run's receipt with its cost. The executor stays in charge: advice is guidance in the run's transcript, never an answer or a tool the advisor runs.

Fields

FieldTypeRequiredDescriptionConstraints
modelstringThe stronger model to consult, as provider/model from GET /api/v1/routes. Omitted: the owner's reviewer role default, then the strongest offer the run's route can serve.
  • pattern ^[A-Za-z0-9][A-Za-z0-9._:-]*/[A-Za-z0-9][A-Za-z0-9._:/@+-]{0,199}$
effortai.effortThe advice call's effort. auto is refused: it resolves to a concrete level before the call (high when omitted).
max_usesintegeryesHow many times this run may ask for advice. 1 to 3; the default is 3.
  • minimum 1
  • maximum 3
  • default 3
max_wordsintegeryesThe longest advice the advisor may return. 10 to 100 words; the default is 100 and longer advice is cut to it.
  • minimum 10
  • maximum 100
  • default 100

Examples

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

Valid: example
{
  "model": "deepseek/deepseek-v4-pro",
  "effort": "high",
  "max_uses": 3,
  "max_words": 100
}
Rejected: too-many
{
  "model": "deepseek/deepseek-v4-pro",
  "effort": "high",
  "max_uses": 4,
  "max_words": 100
}

Validate

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