diff --git a/lexicons/ai.syui.card.admin.json b/lexicons/ai.syui.card.admin.json new file mode 100644 index 0000000..0c68735 --- /dev/null +++ b/lexicons/ai.syui.card.admin.json @@ -0,0 +1,28 @@ +{ + "$type": "com.atproto.lexicon.schema", + "lexicon": 1, + "id": "ai.syui.card.admin", + "defs": { + "main": { + "type": "record", + "key": "literal:self", + "description": "Card game configuration (admin only)", + "record": { + "type": "object", + "required": ["card", "createdAt", "updatedAt"], + "properties": { + "card": { + "type": "object", + "required": ["pickup", "normal"], + "properties": { + "pickup": { "type": "integer", "description": "Pickup card ID" }, + "normal": { "type": "integer", "description": "Normal card ID" } + } + }, + "createdAt": { "type": "string", "format": "datetime" }, + "updatedAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/lexicons/ai.syui.card.old.json b/lexicons/ai.syui.card.old.json new file mode 100644 index 0000000..5aa9c7c --- /dev/null +++ b/lexicons/ai.syui.card.old.json @@ -0,0 +1,53 @@ +{ + "lexicon": 1, + "id": "ai.syui.card.old", + "defs": { + "main": { + "type": "record", + "key": "literal:self", + "description": "Migrated card data from api.syui.ai", + "record": { + "type": "object", + "required": ["user", "cards", "migratedAt"], + "properties": { + "user": { + "type": "object", + "required": ["username"], + "properties": { + "username": { "type": "string" }, + "did": { "type": "string" }, + "aiten": { "type": "integer" }, + "fav": { "type": "integer" }, + "coin": { "type": "integer" }, + "planet": { "type": "integer" }, + "createdAt": { "type": "string", "format": "datetime" }, + "updatedAt": { "type": "string", "format": "datetime" } + } + }, + "cards": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "card", "cp"], + "properties": { + "id": { "type": "integer" }, + "card": { "type": "integer" }, + "cp": { "type": "integer" }, + "status": { "type": "string" }, + "skill": { "type": "string" }, + "createdAt": { "type": "string", "format": "datetime" } + } + } + }, + "checksum": { + "type": "string" + }, + "migratedAt": { + "type": "string", + "format": "datetime" + } + } + } + } + } +} diff --git a/lexicons/ai.syui.card.user.json b/lexicons/ai.syui.card.user.json new file mode 100644 index 0000000..c600a2d --- /dev/null +++ b/lexicons/ai.syui.card.user.json @@ -0,0 +1,33 @@ +{ + "$type": "com.atproto.lexicon.schema", + "lexicon": 1, + "id": "ai.syui.card.user", + "defs": { + "main": { + "type": "record", + "key": "literal:self", + "description": "User card collection", + "record": { + "type": "object", + "required": ["card", "createdAt", "updatedAt"], + "properties": { + "card": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "cp", "rare", "cid"], + "properties": { + "id": { "type": "integer", "description": "Card type ID" }, + "cp": { "type": "integer", "description": "Card power" }, + "rare": { "type": "integer", "description": "Rarity level" }, + "cid": { "type": "string", "description": "Unique card instance ID (TID format)" } + } + } + }, + "createdAt": { "type": "string", "format": "datetime" }, + "updatedAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/lexicons/ai.syui.rse.admin.json b/lexicons/ai.syui.rse.admin.json new file mode 100644 index 0000000..0e90123 --- /dev/null +++ b/lexicons/ai.syui.rse.admin.json @@ -0,0 +1,77 @@ +{ + "$type": "com.atproto.lexicon.schema", + "lexicon": 1, + "id": "ai.syui.rse.admin", + "defs": { + "main": { + "type": "record", + "key": "literal:self", + "description": "RSE admin configuration - abilities, characters, systems and collections", + "record": { + "type": "object", + "required": ["ability", "createdAt", "updatedAt"], + "properties": { + "ability": { + "type": "array", + "description": "Ability/attribute definitions", + "items": { + "type": "object", + "required": ["id", "name", "kind"], + "properties": { + "id": { "type": "integer", "description": "Ability ID" }, + "name": { "type": "string", "description": "Ability name (ai, quark, neutron, atom, sun)" }, + "kind": { "type": "string", "description": "Attribute type (consciousness, matter)" }, + "level": { "type": "integer", "description": "Hierarchy level (0=fundamental)" }, + "relation": { "type": "array", "items": { "type": "integer" }, "description": "Advantage IDs" }, + "weakness": { "type": "array", "items": { "type": "integer" }, "description": "Weakness IDs" }, + "multiplier": { "type": "integer", "description": "Damage multiplier percent (e.g., 150 = 1.5x)" } + } + } + }, + "character": { + "type": "array", + "description": "Character definitions", + "items": { + "type": "object", + "required": ["id", "name", "ability", "mode"], + "properties": { + "id": { "type": "integer", "description": "Character ID" }, + "name": { "type": "string", "description": "Character name" }, + "ability": { "type": "integer", "description": "Ability ID reference" }, + "mode": { "type": "integer", "description": "Character mode" } + } + } + }, + "system": { + "type": "array", + "description": "System definitions", + "items": { + "type": "object", + "required": ["id", "name", "domain"], + "properties": { + "id": { "type": "integer", "description": "System ID" }, + "name": { "type": "string", "description": "System name" }, + "domain": { "type": "string", "description": "System domain (ability, unique, account, planet, origin)" } + } + } + }, + "collection": { + "type": "array", + "description": "ATProto collection definitions", + "items": { + "type": "object", + "required": ["id", "nsid", "name"], + "properties": { + "id": { "type": "integer", "description": "Collection ID" }, + "nsid": { "type": "string", "description": "Namespaced identifier (e.g., ai.syui.card)" }, + "name": { "type": "string", "description": "Collection short name" } + } + } + }, + "createdAt": { "type": "string", "format": "datetime" }, + "updatedAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/lexicons/ai.syui.rse.user.json b/lexicons/ai.syui.rse.user.json new file mode 100644 index 0000000..1803efa --- /dev/null +++ b/lexicons/ai.syui.rse.user.json @@ -0,0 +1,48 @@ +{ + "$type": "com.atproto.lexicon.schema", + "lexicon": 1, + "id": "ai.syui.rse.user", + "defs": { + "main": { + "type": "record", + "key": "literal:self", + "description": "User character and item collection", + "record": { + "type": "object", + "required": ["character", "item", "createdAt", "updatedAt"], + "properties": { + "character": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "cp", "mode", "unique", "shiny"], + "properties": { + "id": { "type": "integer" }, + "cp": { "type": "integer" }, + "mode": { "type": "integer" }, + "unique": { "type": "boolean" }, + "shiny": { "type": "boolean" } + } + } + }, + "item": { + "type": "array", + "items": { + "type": "object", + "required": ["id", "cp", "mode", "unique", "shiny"], + "properties": { + "id": { "type": "integer" }, + "cp": { "type": "integer" }, + "mode": { "type": "integer" }, + "unique": { "type": "boolean" }, + "shiny": { "type": "boolean" } + } + } + }, + "createdAt": { "type": "string", "format": "datetime" }, + "updatedAt": { "type": "string", "format": "datetime" } + } + } + } + } +} diff --git a/public/content/did:plc:6qyecktefllvenje24fcxnie/describe.json b/public/content/did:plc:6qyecktefllvenje24fcxnie/describe.json index a659a61..a8995a9 100644 --- a/public/content/did:plc:6qyecktefllvenje24fcxnie/describe.json +++ b/public/content/did:plc:6qyecktefllvenje24fcxnie/describe.json @@ -10,7 +10,8 @@ "app.bsky.feed.generator", "app.bsky.feed.post", "app.bsky.graph.follow", - "app.bsky.graph.verification" + "app.bsky.graph.verification", + "com.atproto.lexicon.schema" ], "did": "did:plc:6qyecktefllvenje24fcxnie", "handle": "ai.syui.ai"