ChatVibeDeliverRequest chat.vibe-deliver-request@1

Generated at from openvibe-contracts v0.221.0 and openvibe-sdk v0.65.0.

Version
1.0.0
Owner
chat
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/chat/vibe-deliver-request.v1.json

chat.vibe-deliver-request@1: a first-party service puts a result of the person's own work into their Vibe chats (OpenVibe.Actor: each finished run of one of their OpenVibe Agents, when the agent sends its results to Vibe). Chat keeps one chat per source, named after it, and posts the text there as Vibe's message, so each run is a chat they can open and continue. No AI answer is made and nothing counts against their allowance. POST /internal/chat/vibe/deliver, capability chat.vibe.deliver, loopback only.

Fields

FieldTypeRequiredDescriptionConstraints
subjectstringyesThe person whose work it is, as the calling service vouches (Actor: the agent's owner).
  • pattern ^usr_[0-9A-HJKMNP-TV-Z]{26}$
sourceobjectyes
  • no other fields
source.kindenumyes
  • one of "agent"
source.idstringyesThe source's stable id (the agent's agt_ id): one chat per source.
  • pattern ^[A-Za-z0-9_.:-]{1,64}$
source.namestringWhat to call it in the chat's name (the agent's name).
  • maxLength 80
textstringyesThe result, in Markdown (as Vibe's answers are shown).
  • minLength 1
  • maxLength 8000
urlstringWhere the whole run is (its steps, sources and cost).
  • pattern ^https://
  • format uri
idempotency_keystringyesThe caller's id for this result (Actor: the run's task id): sent again, it is posted once.
  • pattern ^[A-Za-z0-9_.:-]{1,128}$

Examples

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

Valid: agent-run
{
  "subject": "usr_01JABCDEFGHJKMNPQRSTVWXYZ0",
  "source": {
    "kind": "agent",
    "id": "agt_01JABCDEFGHJKMNPQRSTVWXYZ1",
    "name": "Remote jobs"
  },
  "text": "**3 new remote video editing jobs** today:\n\n- [Editor at Example](https://example.com/jobs/1)",
  "url": "https://openvibe.actor/tasks/tsk_01JABCDEFGHJKMNPQRSTVWXYZ2",
  "idempotency_key": "agent-run-0001"
}
Rejected: no-key
{
  "subject": "usr_01JABCDEFGHJKMNPQRSTVWXYZ0",
  "source": {
    "kind": "agent",
    "id": "agt_01JABCDEFGHJKMNPQRSTVWXYZ1"
  },
  "text": "Done."
}
Rejected: voice-source
{
  "subject": "usr_01JABCDEFGHJKMNPQRSTVWXYZ0",
  "source": {
    "kind": "voice",
    "id": "dev_1"
  },
  "text": "Done.",
  "idempotency_key": "k1"
}

Validate

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