# com.suibari.nagi.generateTrilinesAssist

> 3行日記の「botたんに相談」。本人の指定期間（日記の日付の0時から今まで）の Nagi 投稿から、空いている行に入れる候補を生成する。入力済みの行は生成の手がかりにだけ使い、保存しない。

- Kind: procedure
- Authority: nagi.suibari.com
- Lexicon: 1
- Published by [suibari.com](https://lexicon.garden/identity/did:plc:uixgxpiqf4i63p6rgpu7ytmx), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:uixgxpiqf4i63p6rgpu7ytmx/com.suibari.nagi.generateTrilinesAssist)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:uixgxpiqf4i63p6rgpu7ytmx/com.suibari.nagi.generateTrilinesAssist/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:uixgxpiqf4i63p6rgpu7ytmx/com.suibari.nagi.generateTrilinesAssist/analytics)

## Procedure (`com.suibari.nagi.generateTrilinesAssist`)

Type: procedure · POST

### Input (application/json)

- `from` (string · datetime, required): 材料にする期間の始まり。日記の日付（正午区切り）の0時。
- `lang` (string, required)
  - Constraints: knownValues: ja | en
- `lines` (array, required): いまの3行。空文字の行だけを埋める。
  - Constraints: minLength: 3, maxLength: 3
  - `items` (string)
    - Constraints: maxLength: 500, maxGraphemes: 50
- `to` (string · datetime, required): 材料にする期間の終わり。通常は相談した時点。

### Output (application/json)

- `lines` (array, required): 埋めた3行。入力済みの行はそのまま返す。
  - Constraints: minLength: 3, maxLength: 3
  - `items` (string)
    - Constraints: maxLength: 500, maxGraphemes: 50
- `reason` (string): 候補を作れなかった理由。noPosts はその日の投稿がないとき。
  - Constraints: knownValues: noPosts

### Errors

- `AuthRequired`: No description in schema.
- `InvalidRequest`: No description in schema.
- `RateLimited`: No description in schema.
- `UpstreamUnavailable`: No description in schema.

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "3行日記の「botたんに相談」。本人の指定期間（日記の日付の0時から今まで）の Nagi 投稿から、空いている行に入れる候補を生成する。入力済みの行は生成の手がかりにだけ使い、保存しない。",
      "errors": [
        {
          "name": "AuthRequired"
        },
        {
          "name": "InvalidRequest"
        },
        {
          "name": "RateLimited"
        },
        {
          "name": "UpstreamUnavailable"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "from": {
              "description": "材料にする期間の始まり。日記の日付（正午区切り）の0時。",
              "format": "datetime",
              "type": "string"
            },
            "lang": {
              "knownValues": [
                "ja",
                "en"
              ],
              "type": "string"
            },
            "lines": {
              "description": "いまの3行。空文字の行だけを埋める。",
              "items": {
                "maxGraphemes": 50,
                "maxLength": 500,
                "type": "string"
              },
              "maxLength": 3,
              "minLength": 3,
              "type": "array"
            },
            "to": {
              "description": "材料にする期間の終わり。通常は相談した時点。",
              "format": "datetime",
              "type": "string"
            }
          },
          "required": [
            "from",
            "to",
            "lines",
            "lang"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "lines": {
              "description": "埋めた3行。入力済みの行はそのまま返す。",
              "items": {
                "maxGraphemes": 50,
                "maxLength": 500,
                "type": "string"
              },
              "maxLength": 3,
              "minLength": 3,
              "type": "array"
            },
            "reason": {
              "description": "候補を作れなかった理由。noPosts はその日の投稿がないとき。",
              "knownValues": [
                "noPosts"
              ],
              "type": "string"
            }
          },
          "required": [
            "lines"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "com.suibari.nagi.generateTrilinesAssist",
  "lexicon": 1
}
```
