AiMemoryResult ai.memory-result@1

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

Version
1.0.0
Owner
ai
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/ai/memory-result.v1.json

ai.memory-result@1 (OpenVibe.AI; Memory M2): what the memory API answers: a list of items (GET /items, the batch import), one item (GET or PATCH /items/{id}), the cached profile (GET /profile), a count of deleted rows (DELETE) or the agent search's items (GET /search, at most 8, active only). The text is the person's own and is never logged.

Fields

FieldTypeRequiredDescriptionConstraints
itemsai.memory-item
  • maxItems 200
itemai.memory-item
profileobject
  • no other fields
profile.scopestringyes
  • pattern ^(user|project:[a-z0-9][a-z0-9._-]{0,63})$
profile.textstringyesThe cached summary of the person's own notes for this scope. It passed noLooks before it was stored.
  • maxLength 4000
profile.items_hashstringyessha256 of the sorted item MACs the profile was built from.
  • pattern ^[0-9a-f]{64}$
profile.built_atstringyes
  • format date-time
deletedinteger
  • minimum 0
countinteger
  • minimum 0

Examples

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

Valid: items
{
  "items": [
    {
      "id": "mem_01JZ0000000000000000000001",
      "owner": "user:usr_01JZ0000000000000000000AAA",
      "scope": "user",
      "kind": "preference",
      "text": "Prefers short answers and a code block.",
      "source": "person",
      "status": "active",
      "confidence": 1,
      "created_at": "2026-10-30T09:00:00.000Z",
      "updated_at": "2026-10-30T09:00:00.000Z"
    }
  ],
  "count": 1
}
Rejected: item-without-text
{
  "item": {
    "id": "mem_01JZ0000000000000000000001",
    "owner": "user:usr_01JZ0000000000000000000AAA",
    "scope": "user",
    "kind": "preference",
    "source": "person",
    "status": "active",
    "confidence": 1,
    "created_at": "2026-10-30T09:00:00.000Z",
    "updated_at": "2026-10-30T09:00:00.000Z"
  }
}

Validate

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