{
  "$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
}
