# Variable: comment

```ts
const comment: object & Typed<{
  mentions?: readonly string[];
  replyingTo?: string;
  respondingTo?: string;
  text: string;
}>;
```

Defined in: [packages/core/src/schemas/library/annotations.ts:32](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/annotations.ts#L32)

A comment on any record, optionally a reply to another comment. As on a
`std.message`, `mentions` names who it calls on and `replyingTo` whose
comment it answers, and both are topics: "mentions me" and "replies to me"
can be asked of a keeper that can't read it. Commenting is also how to
mention someone on a record of any kind, whatever its own definition holds.

## Type Declaration

### description

```ts
readonly description: "A comment on any record, optionally replying to another comment. To chat, use std.message." = 'A comment on any record, optionally replying to another comment. To chat, use std.message.';
```

### links

```ts
readonly links: object;
```

#### links.about

```ts
readonly about: LinkDeclaration;
```

#### links.replyTo

```ts
readonly replyTo: object;
```

#### links.replyTo.cardinality

```ts
readonly cardinality: "one" = 'one';
```

#### links.replyTo.description

```ts
readonly description: "The comment this replies to" = 'The comment this replies to';
```

#### links.replyTo.to

```ts
readonly to: readonly ["std.comment"];
```

#### links.shares

```ts
readonly shares: object;
```

#### links.shares.cardinality

```ts
readonly cardinality: "one" = 'one';
```

#### links.shares.description

```ts
readonly description: "A record this comment shares, like a poll" = 'A record this comment shares, like a poll';
```

#### links.shares.to

```ts
readonly to: "*" = '*';
```

### name

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

### schema

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

#### schema.properties

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

#### schema.properties.mentions

```ts
readonly mentions: object;
```

#### schema.properties.mentions.items

```ts
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.mentions.maxItems

```ts
maxItems: number = max;
```

#### schema.properties.mentions.type

```ts
type: "array";
```

#### schema.properties.replyingTo

```ts
readonly replyingTo: 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.respondingTo

```ts
readonly respondingTo: 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.text

```ts
readonly text: object;
```

#### schema.properties.text.maxLength

```ts
readonly maxLength: 10000 = 10000;
```

#### schema.properties.text.minLength

```ts
readonly minLength: 1 = 1;
```

#### schema.properties.text.type

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

#### schema.required

```ts
readonly required: readonly ["text"];
```

#### schema.type

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

### title

```ts
readonly title: "Comment" = 'Comment';
```

### topics

```ts
readonly topics: readonly ["mentions", "replyingTo", "respondingTo"];
```
