CommunityPulseItem community.pulse-item@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
community
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/community/pulse-item.v1.json

community.pulse-item@1: one item of the network's public activity on OpenVibe.Community (server/pulse/service.js shape), with provenance: its source entity, title, url, origin (user, ai or system), the AI or System label, the actor (a person for user items, never for AI or system ones) and when it happened.

Fields

FieldTypeRequiredDescriptionConstraints
idintegeryes
sourceobjectyes
source.servicestringyes
source.typestringyes
source.idstringyes
titlestringyes
  • maxLength 300
urlstringyes
originenumyes
  • one of "user", "ai", "system"
labelenumyes
  • one of "AI", "System", null
actorobject | nullyes
occurred_atstring | nullyes
  • format date-time

Examples

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

Valid: ai
{
  "id": 9001,
  "source": {
    "service": "live",
    "type": "clip",
    "id": "med_01JAB2C3D4E5F6G7H8J9K0MNPQ"
  },
  "title": "Alice clipped a clean 1v3",
  "url": "https://openvibe.live/clip/med_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "origin": "ai",
  "label": "AI",
  "actor": null,
  "occurred_at": "2026-09-25T18:00:00.000Z"
}
Rejected: bad-origin
{
  "id": 9001,
  "source": {
    "service": "live",
    "type": "clip",
    "id": "med_01JAB2C3D4E5F6G7H8J9K0MNPQ"
  },
  "title": "Alice clipped a clean 1v3",
  "url": "https://openvibe.live/clip/med_01JAB2C3D4E5F6G7H8J9K0MNPQ",
  "origin": "bot",
  "label": "AI",
  "actor": null,
  "occurred_at": "2026-09-25T18:00:00.000Z"
}

Validate

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