AgentTrigger agent.trigger@1

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

Version
1.0.0
Owner
actor
Visibility
public
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/agent/trigger.v1.json

Immutable source event. Source-local actor identity grants no cross-source authority. Accepting an id twice creates one ticket.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
  • minLength 1
sourcestringyes
  • minLength 1
actorobjectyes
  • no other fields
actor.sourcestringyes
  • minLength 1
actor.idstringyes
  • minLength 1
actor.kindenumyes
  • one of "person", "bot", "system"
source_scopestringyes
  • minLength 1
threadsarray of stringyes
  • minItems 1
  • unique items
  • items: minLength 1
occurred_atstringyes
  • format date-time
textstringyes
  • minLength 1
read_pointerstring
  • format uri
addresses_agentenum
  • one of "mention", "direct", "none"

Examples

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

Valid: example
{
  "id": "trg_1",
  "source": "github",
  "actor": {
    "source": "github",
    "id": "owner",
    "kind": "person"
  },
  "source_scope": "issues",
  "threads": [
    "issue:1"
  ],
  "occurred_at": "2026-11-09T12:00:00Z",
  "text": "Fix the bug"
}
Rejected: unknown
{
  "id": "trg_1",
  "source": "github",
  "actor": {
    "source": "github",
    "id": "owner",
    "kind": "person"
  },
  "source_scope": "issues",
  "threads": [
    "issue:1"
  ],
  "occurred_at": "2026-11-09T12:00:00Z",
  "text": "Fix the bug",
  "unexpected": true
}

Validate

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