# Variable: direct

```ts
const direct: object & Typed<{
  boxes: readonly object[];
  data: string;
  to: readonly string[];
}>;
```

Defined in: [packages/core/src/schemas/library/publishing.ts:105](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/publishing.ts#L105)

A direct message between some members of a space: its text is sealed so
only the people in `to` and whoever wrote it can read it, with each one's
member key (`docs/direct-messages.md`). Other members see who wrote to whom and
when, not what. `to` is a topic, so "sent to me" can be asked of a keeper
that can't read it. Write and read it through `node.direct`.

## Type Declaration

### description

```ts
readonly description: "A message only the people it is sent to can read." = 'A message only the people it is sent to can read.';
```

### name

```ts
readonly name: "std.direct" = 'std.direct';
```

### schema

```ts
readonly schema: object;
```

#### schema.properties

```ts
readonly properties: object;
```

#### schema.properties.boxes

```ts
readonly boxes: object;
```

#### schema.properties.boxes.description

```ts
readonly description: "The message key, sealed to each reader: everyone in `to`, and whoever wrote it" = 'The message key, sealed to each reader: everyone in `to`, and whoever wrote it';
```

#### schema.properties.boxes.items

```ts
readonly items: object;
```

#### schema.properties.boxes.items.properties

```ts
readonly properties: object;
```

#### schema.properties.boxes.items.properties.sealed

```ts
readonly sealed: object;
```

#### schema.properties.boxes.items.properties.sealed.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.boxes.items.properties.sealed.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.boxes.items.properties.sealed.type

```ts
type: "string";
```

#### schema.properties.boxes.items.properties.to

```ts
readonly to: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "did";
```

#### schema.properties.boxes.items.required

```ts
readonly required: readonly ["to", "sealed"];
```

#### schema.properties.boxes.items.type

```ts
readonly type: "object" = 'object';
```

#### schema.properties.boxes.maxItems

```ts
readonly maxItems: 17 = 17;
```

#### schema.properties.boxes.type

```ts
readonly type: "array" = 'array';
```

#### schema.properties.data

```ts
readonly data: object;
```

#### schema.properties.data.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.data.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.data.type

```ts
type: "string";
```

#### schema.properties.to

```ts
readonly to: object;
```

#### schema.properties.to.description

```ts
readonly description: "Who it is for, not whoever wrote it" = 'Who it is for, not whoever wrote it';
```

#### schema.properties.to.items

```ts
readonly items: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "did";
```

#### schema.properties.to.maxItems

```ts
readonly maxItems: 16 = 16;
```

#### schema.properties.to.minItems

```ts
readonly minItems: 1 = 1;
```

#### schema.properties.to.type

```ts
readonly type: "array" = 'array';
```

#### schema.required

```ts
readonly required: readonly ["to", "data", "boxes"];
```

#### schema.type

```ts
readonly type: "object" = 'object';
```

### title

```ts
readonly title: "Direct message" = 'Direct message';
```

### topics

```ts
readonly topics: readonly ["to"];
```
