From f201cf96f4da1807093012dd1f6a99cb7e236427 Mon Sep 17 00:00:00 2001
From: syui <syui@syui.ai>
Date: Fri, 8 Nov 2024 15:26:48 +0900
Subject: [PATCH] add lexicons

---
 .../frontpage/lexicons/ai/syui/o/comment.json | 30 +++++++++++++++++
 .../frontpage/lexicons/ai/syui/o/post.json    | 33 +++++++++++++++++++
 .../frontpage/lexicons/ai/syui/o/vote.json    | 23 +++++++++++++
 3 files changed, 86 insertions(+)
 create mode 100644 repos_extra/frontpage/lexicons/ai/syui/o/comment.json
 create mode 100644 repos_extra/frontpage/lexicons/ai/syui/o/post.json
 create mode 100644 repos_extra/frontpage/lexicons/ai/syui/o/vote.json

diff --git a/repos_extra/frontpage/lexicons/ai/syui/o/comment.json b/repos_extra/frontpage/lexicons/ai/syui/o/comment.json
new file mode 100644
index 0000000..c52ec9d
--- /dev/null
+++ b/repos_extra/frontpage/lexicons/ai/syui/o/comment.json
@@ -0,0 +1,30 @@
+{
+  "lexicon": 1,
+  "id": "ai.syui.o.comment",
+  "defs": {
+    "main": {
+      "type": "record",
+      "description": "Record containing a Frontpage comment.",
+      "key": "tid",
+      "record": {
+        "type": "object",
+        "required": ["content", "createdAt", "post"],
+        "properties": {
+          "content": {
+            "type": "string",
+            "maxLength": 100000,
+            "maxGraphemes": 10000,
+            "description": "The content of the comment."
+          },
+          "createdAt": {
+            "type": "string",
+            "format": "datetime",
+            "description": "Client-declared timestamp when this comment was originally created."
+          },
+          "parent": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
+          "post": { "type": "ref", "ref": "com.atproto.repo.strongRef" }
+        }
+      }
+    }
+  }
+}
diff --git a/repos_extra/frontpage/lexicons/ai/syui/o/post.json b/repos_extra/frontpage/lexicons/ai/syui/o/post.json
new file mode 100644
index 0000000..b18659c
--- /dev/null
+++ b/repos_extra/frontpage/lexicons/ai/syui/o/post.json
@@ -0,0 +1,33 @@
+{
+  "lexicon": 1,
+  "id": "ai.syui.o.post",
+  "defs": {
+    "main": {
+      "type": "record",
+      "description": "Record containing a Frontpage post.",
+      "key": "tid",
+      "record": {
+        "type": "object",
+        "required": ["title", "url", "createdAt"],
+        "properties": {
+          "title": {
+            "type": "string",
+            "maxLength": 3000,
+            "maxGraphemes": 300,
+            "description": "The title of the post."
+          },
+          "url": {
+            "type": "string",
+            "format": "uri",
+            "description": "The URL of the post."
+          },
+          "createdAt": {
+            "type": "string",
+            "format": "datetime",
+            "description": "Client-declared timestamp when this post was originally created."
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/repos_extra/frontpage/lexicons/ai/syui/o/vote.json b/repos_extra/frontpage/lexicons/ai/syui/o/vote.json
new file mode 100644
index 0000000..0870658
--- /dev/null
+++ b/repos_extra/frontpage/lexicons/ai/syui/o/vote.json
@@ -0,0 +1,23 @@
+{
+  "lexicon": 1,
+  "id": "ai.syui.o.vote",
+  "defs": {
+    "main": {
+      "type": "record",
+      "description": "Record containing a Frontpage vote.",
+      "key": "tid",
+      "record": {
+        "type": "object",
+        "required": ["subject", "createdAt"],
+        "properties": {
+          "subject": { "type": "ref", "ref": "com.atproto.repo.strongRef" },
+          "createdAt": {
+            "type": "string",
+            "format": "datetime",
+            "description": "Client-declared timestamp when this vote was originally created."
+          }
+        }
+      }
+    }
+  }
+}