HarnessOffer platform.harness-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/harness-offer.v1.json

Registered coding or agent harness, its access method, limits, and price (T1 Universal Fabric; ADR-034 proposed).

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
namestringyes
providerstringyes
capabilitiesobjectyes
  • no other fields
capabilities.host_accessbooleanyes
capabilities.mcpbooleanyes
capabilities.long_autonomybooleanyes
capabilities.resumebooleanyes
addressobjectyes
  • no other fields
address.kindenumyes
  • one of "api", "cli", "mcp"
address.targetstringyesEndpoint URI, executable, or MCP server name
priceobjectyes
  • no other fields
price.amount_usdnumberyesEstimated USD
  • minimum 0
price.unitstringyesBilling unit
limitsobjectyes
  • no other fields
limits.max_duration_secondsintegeryes
  • minimum 0
limits.max_concurrent_runsintegeryes
  • minimum 0
limits.max_context_tokensinteger
  • minimum 0

Examples

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

Valid: example
{
  "id": "harness-1",
  "name": "Example Agent",
  "provider": "example-ai",
  "capabilities": {
    "host_access": true,
    "mcp": true,
    "long_autonomy": true,
    "resume": true
  },
  "address": {
    "kind": "cli",
    "target": "example-agent"
  },
  "price": {
    "amount_usd": 0.1,
    "unit": "hour"
  },
  "limits": {
    "max_duration_seconds": 7200,
    "max_concurrent_runs": 4,
    "max_context_tokens": 128000
  }
}
Rejected: missing-id
{
  "name": "Example Agent",
  "provider": "example-ai",
  "capabilities": {
    "host_access": true,
    "mcp": true,
    "long_autonomy": true,
    "resume": true
  },
  "address": {
    "kind": "cli",
    "target": "example-agent"
  },
  "price": {
    "amount_usd": 0.1,
    "unit": "hour"
  },
  "limits": {
    "max_duration_seconds": 7200,
    "max_concurrent_runs": 4,
    "max_context_tokens": 128000
  }
}

Validate

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