AiCredential ai.credential@1

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

An older major, still in the catalog. The current one is ai.credential@2.
Version
1.0.0
Owner
ai
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/ai/credential.v1.json

ai.credential@1 (OpenVibe.AI; roadmap WS-O task 2): a stored credential as its owner service reads it (GET or PUT /api/v1/credentials/{subject}): never the key, only its last four characters.

Fields

FieldTypeRequiredDescriptionConstraints
subjectstringyes
  • pattern ^usr_[0-9A-HJKMNP-TV-Z]{26}$
ownerstringyesThe service that stored it; only it may use or change it.
  • pattern ^[a-z][a-z0-9-]{1,31}$
providerenumyes
  • one of "openai", "anthropic", "link"
machinestring | nullprovider link: the machine it runs on, or `any` of the person's own (contracts 0.221.0)
  • pattern ^(dev_[0-9A-HJKMNP-TV-Z]{26}|any)$
base_urlstring | null
  • maxLength 300
key_hintstring
  • pattern ^…[\s\S]{1,4}$
modelsobjectModel per Live role; `chat` is the default for the others.
  • no other fields
models.chatstring
  • minLength 1
  • maxLength 120
models.visionstring
  • minLength 1
  • maxLength 120
models.directorstring
  • minLength 1
  • maxLength 120
models.summarystring
  • minLength 1
  • maxLength 120
models.legacystring
  • minLength 1
  • maxLength 120
budget_usd_per_daynumber | null
  • minimum 0
spent_usd_todaynumber
  • minimum 0
created_atstringyes
  • format date-time
updated_atstringyes
  • format date-time
last_used_atstring | null
  • format date-time

Examples

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

The fixtures that ship with the package are the current major's.

Validate

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