This repository has no description
2.6 kB
91 lines
1{
2 "lexicon": 1,
3 "id": "network.cosmik.card",
4 "description": "A saved link or note in a Semble collection.",
5 "defs": {
6 "main": {
7 "type": "record",
8 "description": "A card representing a saved URL or a standalone note within a Semble collection.",
9 "key": "tid",
10 "record": {
11 "type": "object",
12 "required": ["type", "content", "createdAt"],
13 "properties": {
14 "type": {
15 "type": "string",
16 "enum": ["URL", "NOTE"],
17 "description": "Whether this card is a saved URL or a standalone note."
18 },
19 "content": {
20 "type": "union",
21 "refs": ["network.cosmik.card#urlContent", "network.cosmik.card#noteContent"],
22 "description": "The card content — either a URL with metadata or a text note."
23 },
24 "parentCard": {
25 "type": "union",
26 "refs": ["com.atproto.repo.strongRef"],
27 "description": "Parent card this is a reply/annotation to."
28 },
29 "createdAt": {
30 "type": "string",
31 "format": "datetime",
32 "description": "When the card was created."
33 }
34 }
35 }
36 },
37 "urlContent": {
38 "type": "object",
39 "description": "Content for a URL-type card.",
40 "required": ["url"],
41 "properties": {
42 "url": {
43 "type": "string",
44 "format": "uri",
45 "description": "The saved URL."
46 },
47 "metadata": {
48 "type": "network.cosmik.card#urlMetadata",
49 "description": "Extracted metadata for the URL."
50 }
51 }
52 },
53 "noteContent": {
54 "type": "object",
55 "description": "Content for a note-type card.",
56 "required": ["text"],
57 "properties": {
58 "text": {
59 "type": "string",
60 "maxGraphemes": 2000,
61 "description": "The note text."
62 }
63 }
64 },
65 "urlMetadata": {
66 "type": "object",
67 "description": "Open Graph-style metadata extracted from a URL.",
68 "properties": {
69 "type": {
70 "type": "string",
71 "description": "OG type (e.g. 'link', 'article')."
72 },
73 "title": {
74 "type": "string",
75 "maxGraphemes": 500,
76 "description": "Page title."
77 },
78 "description": {
79 "type": "string",
80 "maxGraphemes": 2000,
81 "description": "Page description."
82 },
83 "imageUrl": {
84 "type": "string",
85 "format": "uri",
86 "description": "OG image URL."
87 }
88 }
89 }
90 }
91}