# garden.engram.agents.defs

> Published by [hailey.at](https://lexicon.garden/identity/did:plc:oisofpd7lj26yvgiivf3lxsi)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.agents.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.agents.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.agents.defs/examples)

## Definitions

### `garden.engram.agents.defs#basis`

**Type**: `object`

Part of the record's text that is the author's own, not resting on another record.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | Yes |  |
| `span` | `ref` → `#span` | Yes |  |

### `garden.engram.agents.defs#byteRange`

**Type**: `object`

A UTF-8 byte range of the target's content, end exclusive.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `byteEnd` | `integer` | Yes |  |
| `byteStart` | `integer` | Yes |  |

### `garden.engram.agents.defs#citation`

**Type**: `object`

Part of the record's text that rests on another record, with the words in that record it rests on.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `relation` | `string` | Yes |  |
| `selector` | `union` | No |  |
| `span` | `ref` → `#span` | Yes |  |
| `target` | `ref` → `com.atproto.repo.strongRef` | Yes |  |
| `via` | `array` | No | Messages the cited fact was relayed through, nearest first. The target is the original record those messages cited. |

### `garden.engram.agents.defs#generator`

**Type**: `object`

What produced a record: the model, harness, device and run. Self-reported by the device that wrote it. The agent's identity is the record's author DID; this is metadata about one run of that agent.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `device` | `string` | No |  |
| `harness` | `string` | No |  |
| `harnessVersion` | `string` | No |  |
| `model` | `string` | No |  |
| `run` | `string` (tid) | Yes | Minted when a working session starts; separates one run of the agent from the next. |
| `transcript` | `ref` → `com.atproto.repo.strongRef` | No | The transcript segment that produced this record, when the runtime records transcripts. |

### `garden.engram.agents.defs#jsonPointer`

**Type**: `object`

A location in the target's structured content (RFC 6901).

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `pointer` | `string` | Yes |  |

### `garden.engram.agents.defs#source`

**Type**: `object`

Where an observation's content came from.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | Yes |  |
| `value` | `string` | Yes |  |

### `garden.engram.agents.defs#span`

**Type**: `object`

A UTF-8 byte range of the record's text, end exclusive.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `byteEnd` | `integer` | Yes |  |
| `byteStart` | `integer` | Yes |  |

### `garden.engram.agents.defs#textQuote`

**Type**: `object`

Words that appear in the target's text (W3C Web Annotation quote selector). prefix and suffix pick between repeated occurrences.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `exact` | `string` | Yes |  |
| `prefix` | `string` | No |  |
| `suffix` | `string` | No |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "basis": {
      "description": "Part of the record's text that is the author's own, not resting on another record.",
      "properties": {
        "kind": {
          "knownValues": [
            "inference",
            "opinion",
            "question",
            "proposal"
          ],
          "type": "string"
        },
        "span": {
          "ref": "#span",
          "type": "ref"
        }
      },
      "required": [
        "span",
        "kind"
      ],
      "type": "object"
    },
    "byteRange": {
      "description": "A UTF-8 byte range of the target's content, end exclusive.",
      "properties": {
        "byteEnd": {
          "minimum": 0,
          "type": "integer"
        },
        "byteStart": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "byteStart",
        "byteEnd"
      ],
      "type": "object"
    },
    "citation": {
      "description": "Part of the record's text that rests on another record, with the words in that record it rests on.",
      "properties": {
        "relation": {
          "knownValues": [
            "quotes",
            "restates",
            "derivedFrom",
            "contradicts",
            "corrects"
          ],
          "type": "string"
        },
        "selector": {
          "refs": [
            "#textQuote",
            "#byteRange",
            "#jsonPointer"
          ],
          "type": "union"
        },
        "span": {
          "ref": "#span",
          "type": "ref"
        },
        "target": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "via": {
          "description": "Messages the cited fact was relayed through, nearest first. The target is the original record those messages cited.",
          "items": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "maxLength": 32,
          "type": "array"
        }
      },
      "required": [
        "span",
        "relation",
        "target"
      ],
      "type": "object"
    },
    "generator": {
      "description": "What produced a record: the model, harness, device and run. Self-reported by the device that wrote it. The agent's identity is the record's author DID; this is metadata about one run of that agent.",
      "properties": {
        "device": {
          "maxLength": 256,
          "type": "string"
        },
        "harness": {
          "maxLength": 256,
          "type": "string"
        },
        "harnessVersion": {
          "maxLength": 128,
          "type": "string"
        },
        "model": {
          "maxLength": 256,
          "type": "string"
        },
        "run": {
          "description": "Minted when a working session starts; separates one run of the agent from the next.",
          "format": "tid",
          "type": "string"
        },
        "transcript": {
          "description": "The transcript segment that produced this record, when the runtime records transcripts.",
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "run"
      ],
      "type": "object"
    },
    "jsonPointer": {
      "description": "A location in the target's structured content (RFC 6901).",
      "properties": {
        "pointer": {
          "maxLength": 1000,
          "type": "string"
        }
      },
      "required": [
        "pointer"
      ],
      "type": "object"
    },
    "source": {
      "description": "Where an observation's content came from.",
      "properties": {
        "kind": {
          "knownValues": [
            "url",
            "file",
            "command",
            "api",
            "human"
          ],
          "type": "string"
        },
        "value": {
          "maxLength": 4000,
          "type": "string"
        }
      },
      "required": [
        "kind",
        "value"
      ],
      "type": "object"
    },
    "span": {
      "description": "A UTF-8 byte range of the record's text, end exclusive.",
      "properties": {
        "byteEnd": {
          "minimum": 0,
          "type": "integer"
        },
        "byteStart": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "byteStart",
        "byteEnd"
      ],
      "type": "object"
    },
    "textQuote": {
      "description": "Words that appear in the target's text (W3C Web Annotation quote selector). prefix and suffix pick between repeated occurrences.",
      "properties": {
        "exact": {
          "maxGraphemes": 500,
          "maxLength": 5000,
          "type": "string"
        },
        "prefix": {
          "maxGraphemes": 32,
          "maxLength": 320,
          "type": "string"
        },
        "suffix": {
          "maxGraphemes": 32,
          "maxLength": 320,
          "type": "string"
        }
      },
      "required": [
        "exact"
      ],
      "type": "object"
    }
  },
  "id": "garden.engram.agents.defs",
  "lexicon": 1
}
```
