AgentOffer platform.agent-offer@1

Generated at from openvibe-contracts v0.84.0 and openvibe-sdk v0.26.0.

Version
1.0.0
Owner
network
Visibility
public
Status
active
Compatibility
backward
Decision
ADR-034
Schema
https://openvibe.network/contracts/platform/agent-offer.v1.json

Agent model capacity and token pricing (T1 Universal Fabric; ADR-034 proposed).

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
harnessstringyesRegistered harness offer id
providerstringyes
modelstringyes
context_limitsobjectyes
  • no other fields
context_limits.input_tokensintegeryes
  • minimum 0
context_limits.output_tokensintegeryes
  • minimum 0
concurrencyintegeryes
  • minimum 0
price_per_1k_tokensobjectyes
  • no other fields
price_per_1k_tokens.fresh_usdnumberyesEstimated USD
  • minimum 0
price_per_1k_tokens.cached_usdnumberyesEstimated USD
  • minimum 0
price_per_1k_tokens.output_usdnumberyesEstimated USD
  • minimum 0
availability_windowsarray of objectyesEmpty means no time restriction
  • items: no other fields
availability_windows[].startstringyes
  • format date-time
availability_windows[].endstringyes
  • format date-time

Examples

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

Valid: example
{
  "id": "agent-1",
  "harness": "harness-1",
  "provider": "example-ai",
  "model": "model-1",
  "context_limits": {
    "input_tokens": 128000,
    "output_tokens": 8192
  },
  "concurrency": 4,
  "price_per_1k_tokens": {
    "fresh_usd": 0.003,
    "cached_usd": 0.001,
    "output_usd": 0.01
  },
  "availability_windows": []
}
Rejected: missing-id
{
  "harness": "harness-1",
  "provider": "example-ai",
  "model": "model-1",
  "context_limits": {
    "input_tokens": 128000,
    "output_tokens": 8192
  },
  "concurrency": 4,
  "price_per_1k_tokens": {
    "fresh_usd": 0.003,
    "cached_usd": 0.001,
    "output_usd": 0.01
  },
  "availability_windows": []
}

Validate

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