@atiproto/lexicons 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +20 -0
  3. package/dist/lexicons/com/atiproto/account/cart/clone.d.ts +2 -0
  4. package/dist/lexicons/com/atiproto/account/cart/clone.defs.d.ts +49 -0
  5. package/dist/lexicons/com/atiproto/account/cart/clone.defs.js +58 -0
  6. package/dist/lexicons/com/atiproto/account/cart/clone.js +44 -0
  7. package/dist/lexicons/com/atiproto/account/cart/create.d.ts +2 -0
  8. package/dist/lexicons/com/atiproto/account/cart/create.defs.d.ts +39 -0
  9. package/dist/lexicons/com/atiproto/account/cart/create.defs.js +54 -0
  10. package/dist/lexicons/com/atiproto/account/cart/create.js +44 -0
  11. package/dist/lexicons/com/atiproto/account/cart/get.d.ts +2 -0
  12. package/dist/lexicons/com/atiproto/account/cart/get.defs.d.ts +47 -0
  13. package/dist/lexicons/com/atiproto/account/cart/get.defs.js +56 -0
  14. package/dist/lexicons/com/atiproto/account/cart/get.js +44 -0
  15. package/dist/lexicons/com/atiproto/account/cart/list.d.ts +2 -0
  16. package/dist/lexicons/com/atiproto/account/cart/list.defs.d.ts +32 -0
  17. package/dist/lexicons/com/atiproto/account/cart/list.defs.js +56 -0
  18. package/dist/lexicons/com/atiproto/account/cart/list.js +44 -0
  19. package/dist/lexicons/com/atiproto/account/cart/put.d.ts +2 -0
  20. package/dist/lexicons/com/atiproto/account/cart/put.defs.d.ts +37 -0
  21. package/dist/lexicons/com/atiproto/account/cart/put.defs.js +53 -0
  22. package/dist/lexicons/com/atiproto/account/cart/put.js +44 -0
  23. package/dist/lexicons/com/atiproto/account/cart.d.ts +5 -0
  24. package/dist/lexicons/com/atiproto/account/cart.js +44 -0
  25. package/dist/lexicons/com/atiproto/account/profile/get.d.ts +2 -0
  26. package/dist/lexicons/com/atiproto/account/profile/get.defs.d.ts +31 -0
  27. package/dist/lexicons/com/atiproto/account/profile/get.defs.js +53 -0
  28. package/dist/lexicons/com/atiproto/account/profile/get.js +44 -0
  29. package/dist/lexicons/com/atiproto/account/profile/put.d.ts +2 -0
  30. package/dist/lexicons/com/atiproto/account/profile/put.defs.d.ts +47 -0
  31. package/dist/lexicons/com/atiproto/account/profile/put.defs.js +60 -0
  32. package/dist/lexicons/com/atiproto/account/profile/put.js +44 -0
  33. package/dist/lexicons/com/atiproto/account/profile.d.ts +2 -0
  34. package/dist/lexicons/com/atiproto/account/profile.js +41 -0
  35. package/dist/lexicons/com/atiproto/account.d.ts +2 -0
  36. package/dist/lexicons/com/atiproto/account.js +41 -0
  37. package/dist/lexicons/com/atiproto/cart.d.ts +2 -0
  38. package/dist/lexicons/com/atiproto/cart.defs.d.ts +147 -0
  39. package/dist/lexicons/com/atiproto/cart.defs.js +27 -0
  40. package/dist/lexicons/com/atiproto/cart.js +44 -0
  41. package/dist/lexicons/com/atiproto/feed/list.d.ts +2 -0
  42. package/dist/lexicons/com/atiproto/feed/list.defs.d.ts +18 -0
  43. package/dist/lexicons/com/atiproto/feed/list.defs.js +54 -0
  44. package/dist/lexicons/com/atiproto/feed/list.js +44 -0
  45. package/dist/lexicons/com/atiproto/feed/subscription/cancel.d.ts +2 -0
  46. package/dist/lexicons/com/atiproto/feed/subscription/cancel.defs.d.ts +37 -0
  47. package/dist/lexicons/com/atiproto/feed/subscription/cancel.defs.js +51 -0
  48. package/dist/lexicons/com/atiproto/feed/subscription/cancel.js +44 -0
  49. package/dist/lexicons/com/atiproto/feed/subscription/create.d.ts +2 -0
  50. package/dist/lexicons/com/atiproto/feed/subscription/create.defs.d.ts +52 -0
  51. package/dist/lexicons/com/atiproto/feed/subscription/create.defs.js +59 -0
  52. package/dist/lexicons/com/atiproto/feed/subscription/create.js +44 -0
  53. package/dist/lexicons/com/atiproto/feed/subscription/get.d.ts +2 -0
  54. package/dist/lexicons/com/atiproto/feed/subscription/get.defs.d.ts +35 -0
  55. package/dist/lexicons/com/atiproto/feed/subscription/get.defs.js +51 -0
  56. package/dist/lexicons/com/atiproto/feed/subscription/get.js +44 -0
  57. package/dist/lexicons/com/atiproto/feed/subscription/list.d.ts +2 -0
  58. package/dist/lexicons/com/atiproto/feed/subscription/list.defs.d.ts +28 -0
  59. package/dist/lexicons/com/atiproto/feed/subscription/list.defs.js +55 -0
  60. package/dist/lexicons/com/atiproto/feed/subscription/list.js +44 -0
  61. package/dist/lexicons/com/atiproto/feed/subscription/put.d.ts +2 -0
  62. package/dist/lexicons/com/atiproto/feed/subscription/put.defs.d.ts +37 -0
  63. package/dist/lexicons/com/atiproto/feed/subscription/put.defs.js +53 -0
  64. package/dist/lexicons/com/atiproto/feed/subscription/put.js +44 -0
  65. package/dist/lexicons/com/atiproto/feed/subscription.d.ts +5 -0
  66. package/dist/lexicons/com/atiproto/feed/subscription.js +44 -0
  67. package/dist/lexicons/com/atiproto/feed/tip/create.d.ts +2 -0
  68. package/dist/lexicons/com/atiproto/feed/tip/create.defs.d.ts +76 -0
  69. package/dist/lexicons/com/atiproto/feed/tip/create.defs.js +62 -0
  70. package/dist/lexicons/com/atiproto/feed/tip/create.js +44 -0
  71. package/dist/lexicons/com/atiproto/feed/tip/get.d.ts +2 -0
  72. package/dist/lexicons/com/atiproto/feed/tip/get.defs.d.ts +35 -0
  73. package/dist/lexicons/com/atiproto/feed/tip/get.defs.js +51 -0
  74. package/dist/lexicons/com/atiproto/feed/tip/get.js +44 -0
  75. package/dist/lexicons/com/atiproto/feed/tip/list.d.ts +2 -0
  76. package/dist/lexicons/com/atiproto/feed/tip/list.defs.d.ts +17 -0
  77. package/dist/lexicons/com/atiproto/feed/tip/list.defs.js +50 -0
  78. package/dist/lexicons/com/atiproto/feed/tip/list.js +44 -0
  79. package/dist/lexicons/com/atiproto/feed/tip/put.d.ts +2 -0
  80. package/dist/lexicons/com/atiproto/feed/tip/put.defs.d.ts +37 -0
  81. package/dist/lexicons/com/atiproto/feed/tip/put.defs.js +53 -0
  82. package/dist/lexicons/com/atiproto/feed/tip/put.js +44 -0
  83. package/dist/lexicons/com/atiproto/feed/tip.d.ts +4 -0
  84. package/dist/lexicons/com/atiproto/feed/tip.js +43 -0
  85. package/dist/lexicons/com/atiproto/feed.d.ts +3 -0
  86. package/dist/lexicons/com/atiproto/feed.js +42 -0
  87. package/dist/lexicons/com/atiproto/profile.d.ts +2 -0
  88. package/dist/lexicons/com/atiproto/profile.defs.d.ts +377 -0
  89. package/dist/lexicons/com/atiproto/profile.defs.js +32 -0
  90. package/dist/lexicons/com/atiproto/profile.js +44 -0
  91. package/dist/lexicons/com/atiproto/repo/profile/get.d.ts +2 -0
  92. package/dist/lexicons/com/atiproto/repo/profile/get.defs.d.ts +29 -0
  93. package/dist/lexicons/com/atiproto/repo/profile/get.defs.js +50 -0
  94. package/dist/lexicons/com/atiproto/repo/profile/get.js +44 -0
  95. package/dist/lexicons/com/atiproto/repo/profile.d.ts +1 -0
  96. package/dist/lexicons/com/atiproto/repo/profile.js +40 -0
  97. package/dist/lexicons/com/atiproto/repo/subscription/search.d.ts +2 -0
  98. package/dist/lexicons/com/atiproto/repo/subscription/search.defs.d.ts +40 -0
  99. package/dist/lexicons/com/atiproto/repo/subscription/search.defs.js +59 -0
  100. package/dist/lexicons/com/atiproto/repo/subscription/search.js +44 -0
  101. package/dist/lexicons/com/atiproto/repo/subscription/validate.d.ts +2 -0
  102. package/dist/lexicons/com/atiproto/repo/subscription/validate.defs.d.ts +36 -0
  103. package/dist/lexicons/com/atiproto/repo/subscription/validate.defs.js +22 -0
  104. package/dist/lexicons/com/atiproto/repo/subscription/validate.js +44 -0
  105. package/dist/lexicons/com/atiproto/repo/subscription.d.ts +2 -0
  106. package/dist/lexicons/com/atiproto/repo/subscription.js +41 -0
  107. package/dist/lexicons/com/atiproto/repo/tip/search.d.ts +2 -0
  108. package/dist/lexicons/com/atiproto/repo/tip/search.defs.d.ts +40 -0
  109. package/dist/lexicons/com/atiproto/repo/tip/search.defs.js +59 -0
  110. package/dist/lexicons/com/atiproto/repo/tip/search.js +44 -0
  111. package/dist/lexicons/com/atiproto/repo/tip/validate.d.ts +2 -0
  112. package/dist/lexicons/com/atiproto/repo/tip/validate.defs.d.ts +42 -0
  113. package/dist/lexicons/com/atiproto/repo/tip/validate.defs.js +23 -0
  114. package/dist/lexicons/com/atiproto/repo/tip/validate.js +44 -0
  115. package/dist/lexicons/com/atiproto/repo/tip.d.ts +2 -0
  116. package/dist/lexicons/com/atiproto/repo/tip.js +41 -0
  117. package/dist/lexicons/com/atiproto/repo.d.ts +3 -0
  118. package/dist/lexicons/com/atiproto/repo.js +42 -0
  119. package/dist/lexicons/com/atiproto/subscription.d.ts +2 -0
  120. package/dist/lexicons/com/atiproto/subscription.defs.d.ts +244 -0
  121. package/dist/lexicons/com/atiproto/subscription.defs.js +24 -0
  122. package/dist/lexicons/com/atiproto/subscription.js +44 -0
  123. package/dist/lexicons/com/atiproto/tip.d.ts +2 -0
  124. package/dist/lexicons/com/atiproto/tip.defs.d.ts +230 -0
  125. package/dist/lexicons/com/atiproto/tip.defs.js +29 -0
  126. package/dist/lexicons/com/atiproto/tip.js +44 -0
  127. package/dist/lexicons/com/atiproto.d.ts +7 -0
  128. package/dist/lexicons/com/atiproto.js +46 -0
  129. package/dist/lexicons/com.d.ts +1 -0
  130. package/dist/lexicons/com.js +40 -0
  131. package/dist/lexicons/index.d.ts +1 -0
  132. package/dist/lexicons/index.js +40 -0
  133. package/dist/schemas/account/cart/clone.json +75 -0
  134. package/dist/schemas/account/cart/create.json +52 -0
  135. package/dist/schemas/account/cart/get.json +66 -0
  136. package/dist/schemas/account/cart/list.json +73 -0
  137. package/dist/schemas/account/cart/put.json +47 -0
  138. package/dist/schemas/account/profile/get.json +42 -0
  139. package/dist/schemas/account/profile/put.json +84 -0
  140. package/dist/schemas/cart.json +74 -0
  141. package/dist/schemas/feed/list.json +49 -0
  142. package/dist/schemas/feed/subscription/cancel.json +48 -0
  143. package/dist/schemas/feed/subscription/create.json +76 -0
  144. package/dist/schemas/feed/subscription/get.json +45 -0
  145. package/dist/schemas/feed/subscription/list.json +64 -0
  146. package/dist/schemas/feed/subscription/put.json +47 -0
  147. package/dist/schemas/feed/tip/create.json +87 -0
  148. package/dist/schemas/feed/tip/get.json +45 -0
  149. package/dist/schemas/feed/tip/list.json +49 -0
  150. package/dist/schemas/feed/tip/put.json +47 -0
  151. package/dist/schemas/profile.json +88 -0
  152. package/dist/schemas/repo/profile/get.json +40 -0
  153. package/dist/schemas/repo/subscription/search.json +67 -0
  154. package/dist/schemas/repo/subscription/validate.json +55 -0
  155. package/dist/schemas/repo/tip/search.json +67 -0
  156. package/dist/schemas/repo/tip/validate.json +60 -0
  157. package/dist/schemas/subscription.json +67 -0
  158. package/dist/schemas/tip.json +57 -0
  159. package/dist/schemas.d.ts +2 -0
  160. package/dist/schemas.js +60 -0
  161. package/package.json +31 -0
@@ -0,0 +1,48 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.feed.subscription.cancel",
4
+ "defs": {
5
+ "main": {
6
+ "type": "procedure",
7
+ "description": "Cancel an active subscription",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "required": ["subscriptionUri"],
13
+ "properties": {
14
+ "subscriptionUri": {
15
+ "type": "string",
16
+ "format": "at-uri",
17
+ "description": "AT-URI of the subscription to cancel"
18
+ }
19
+ }
20
+ }
21
+ },
22
+ "output": {
23
+ "encoding": "application/json",
24
+ "schema": {
25
+ "type": "object",
26
+ "required": ["subscriptionUri", "subscription", "accessUntil"],
27
+ "properties": {
28
+ "subscriptionUri": {
29
+ "type": "string",
30
+ "format": "at-uri",
31
+ "description": "URI of the updated subscription record"
32
+ },
33
+ "subscription": {
34
+ "type": "ref",
35
+ "ref": "com.atiproto.subscription",
36
+ "description": "Updated subscription record"
37
+ },
38
+ "accessUntil": {
39
+ "type": "string",
40
+ "format": "datetime",
41
+ "description": "Timestamp when access expires"
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,76 @@
1
+ {
2
+ "defs": {
3
+ "main": {
4
+ "description": "Create a subscription to a user. Returns a one-off cart with checkout URL.",
5
+ "input": {
6
+ "encoding": "application/json",
7
+ "schema": {
8
+ "properties": {
9
+ "subject": {
10
+ "description": "DID of the user to subscribe to",
11
+ "format": "did",
12
+ "type": "string"
13
+ },
14
+ "amount": {
15
+ "description": "Custom amount in cents (if pay-as-you-want enabled)",
16
+ "type": "integer"
17
+ },
18
+ "currency": {
19
+ "description": "ISO 4217 currency code",
20
+ "type": "string"
21
+ },
22
+ "interval": {
23
+ "description": "Billing interval: monthly or yearly",
24
+ "type": "string"
25
+ }
26
+ },
27
+ "required": ["subject", "currency", "interval"],
28
+ "type": "object"
29
+ }
30
+ },
31
+ "output": {
32
+ "encoding": "application/json",
33
+ "schema": {
34
+ "properties": {
35
+ "subscriptionUri": {
36
+ "description": "URI of the subscription record in PDS",
37
+ "format": "at-uri",
38
+ "type": "string"
39
+ },
40
+ "subscription": {
41
+ "description": "The created subscription record (status: pending)",
42
+ "type": "ref",
43
+ "ref": "com.atiproto.subscription"
44
+ },
45
+ "cartUri": {
46
+ "description": "URI of the cart record in PDS",
47
+ "format": "at-uri",
48
+ "type": "string"
49
+ },
50
+ "cart": {
51
+ "description": "The created cart record (status: open)",
52
+ "type": "ref",
53
+ "ref": "com.atiproto.cart"
54
+ },
55
+ "checkoutUrl": {
56
+ "description": "Checkout URL hosted by atiproto",
57
+ "format": "uri",
58
+ "type": "string"
59
+ }
60
+ },
61
+ "required": [
62
+ "subscriptionUri",
63
+ "subscription",
64
+ "cartUri",
65
+ "cart",
66
+ "checkoutUrl"
67
+ ],
68
+ "type": "object"
69
+ }
70
+ },
71
+ "type": "procedure"
72
+ }
73
+ },
74
+ "id": "com.atiproto.feed.subscription.create",
75
+ "lexicon": 1
76
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "defs": {
3
+ "main": {
4
+ "description": "Get a specific subscription by URI",
5
+ "parameters": {
6
+ "properties": {
7
+ "uri": {
8
+ "description": "AT-URI of the subscription record",
9
+ "format": "at-uri",
10
+ "type": "string"
11
+ }
12
+ },
13
+ "required": ["uri"],
14
+ "type": "params"
15
+ },
16
+ "output": {
17
+ "encoding": "application/json",
18
+ "schema": {
19
+ "properties": {
20
+ "uri": {
21
+ "description": "Subscription record URI",
22
+ "format": "at-uri",
23
+ "type": "string"
24
+ },
25
+ "cid": {
26
+ "description": "Subscription record CID",
27
+ "format": "cid",
28
+ "type": "string"
29
+ },
30
+ "record": {
31
+ "description": "The subscription record data",
32
+ "type": "ref",
33
+ "ref": "com.atiproto.subscription"
34
+ }
35
+ },
36
+ "required": ["uri", "cid", "record"],
37
+ "type": "object"
38
+ }
39
+ },
40
+ "type": "query"
41
+ }
42
+ },
43
+ "id": "com.atiproto.feed.subscription.get",
44
+ "lexicon": 1
45
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.feed.subscription.list",
4
+ "defs": {
5
+ "main": {
6
+ "type": "query",
7
+ "description": "List subscriptions for the authenticated user",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "properties": {
13
+ "cursor": {
14
+ "type": "string",
15
+ "description": "Pagination cursor"
16
+ },
17
+ "limit": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "maximum": 100,
21
+ "default": 50,
22
+ "description": "Results per page (1-100, default: 50)"
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "output": {
28
+ "encoding": "application/json",
29
+ "schema": {
30
+ "type": "object",
31
+ "required": ["subscriptions"],
32
+ "properties": {
33
+ "subscriptions": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "ref",
37
+ "ref": "#subscriptionResponse"
38
+ }
39
+ },
40
+ "cursor": {
41
+ "type": "string",
42
+ "description": "Pagination cursor for next page"
43
+ }
44
+ }
45
+ }
46
+ }
47
+ },
48
+ "subscriptionResponse": {
49
+ "type": "object",
50
+ "required": ["uri", "record"],
51
+ "properties": {
52
+ "uri": {
53
+ "type": "string",
54
+ "format": "at-uri",
55
+ "description": "AT-URI of the subscription record"
56
+ },
57
+ "record": {
58
+ "type": "ref",
59
+ "ref": "com.atiproto.subscription"
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.feed.subscription.put",
4
+ "defs": {
5
+ "main": {
6
+ "type": "procedure",
7
+ "description": "Update a pending subscription. Only pending subscriptions can be updated.",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "required": ["uri", "record"],
13
+ "properties": {
14
+ "uri": {
15
+ "type": "string",
16
+ "format": "at-uri",
17
+ "description": "AT-URI of the subscription record to update"
18
+ },
19
+ "record": {
20
+ "type": "ref",
21
+ "ref": "com.atiproto.subscription"
22
+ }
23
+ }
24
+ }
25
+ },
26
+ "output": {
27
+ "encoding": "application/json",
28
+ "schema": {
29
+ "type": "object",
30
+ "required": ["uri", "cid"],
31
+ "properties": {
32
+ "uri": {
33
+ "type": "string",
34
+ "format": "at-uri",
35
+ "description": "Updated subscription record URI"
36
+ },
37
+ "cid": {
38
+ "type": "string",
39
+ "format": "cid",
40
+ "description": "New CID of the updated record"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.feed.tip.create",
4
+ "defs": {
5
+ "main": {
6
+ "type": "procedure",
7
+ "description": "Create a tip on a DID or specific record. Creates or adds to a cart and returns a checkout URL.",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "required": ["subject", "amount", "currency"],
13
+ "properties": {
14
+ "subject": {
15
+ "type": "string",
16
+ "format": "did",
17
+ "description": "DID of the user being tipped"
18
+ },
19
+ "recordUri": {
20
+ "type": "string",
21
+ "format": "at-uri",
22
+ "description": "AT-URI of specific record being tipped"
23
+ },
24
+ "amount": {
25
+ "type": "integer",
26
+ "description": "Tip amount in cents"
27
+ },
28
+ "currency": {
29
+ "type": "string",
30
+ "description": "ISO 4217 currency code"
31
+ },
32
+ "cartUri": {
33
+ "type": "string",
34
+ "format": "at-uri",
35
+ "description": "AT-URI of an existing cart to add this tip to. If omitted, a new cart is created."
36
+ },
37
+ "redirectUrl": {
38
+ "type": "string",
39
+ "format": "uri",
40
+ "description": "URL to redirect to after checkout completes"
41
+ },
42
+ "message": {
43
+ "type": "string",
44
+ "description": "Optional message (max 500 chars)",
45
+ "maxGraphemes": 500,
46
+ "maxLength": 5000
47
+ }
48
+ }
49
+ }
50
+ },
51
+ "output": {
52
+ "encoding": "application/json",
53
+ "schema": {
54
+ "type": "object",
55
+ "required": ["tipUri", "tip", "cartUri", "cart", "checkoutUrl"],
56
+ "properties": {
57
+ "tipUri": {
58
+ "type": "string",
59
+ "format": "at-uri",
60
+ "description": "URI of the tip record in PDS"
61
+ },
62
+ "tip": {
63
+ "type": "ref",
64
+ "ref": "com.atiproto.tip",
65
+ "description": "The created tip record (status: pending)"
66
+ },
67
+ "cartUri": {
68
+ "type": "string",
69
+ "format": "at-uri",
70
+ "description": "URI of the cart record in PDS"
71
+ },
72
+ "cart": {
73
+ "type": "ref",
74
+ "ref": "com.atiproto.cart",
75
+ "description": "The cart record (new or updated)"
76
+ },
77
+ "checkoutUrl": {
78
+ "type": "string",
79
+ "format": "uri",
80
+ "description": "Checkout URL hosted by atiproto"
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "defs": {
3
+ "main": {
4
+ "description": "Get a specific tip by URI",
5
+ "parameters": {
6
+ "properties": {
7
+ "uri": {
8
+ "description": "AT-URI of the tip record",
9
+ "format": "at-uri",
10
+ "type": "string"
11
+ }
12
+ },
13
+ "required": ["uri"],
14
+ "type": "params"
15
+ },
16
+ "output": {
17
+ "encoding": "application/json",
18
+ "schema": {
19
+ "properties": {
20
+ "uri": {
21
+ "description": "Tip record URI",
22
+ "format": "at-uri",
23
+ "type": "string"
24
+ },
25
+ "cid": {
26
+ "description": "Tip record CID",
27
+ "format": "cid",
28
+ "type": "string"
29
+ },
30
+ "value": {
31
+ "description": "The tip record data",
32
+ "type": "ref",
33
+ "ref": "com.atiproto.tip"
34
+ }
35
+ },
36
+ "required": ["uri", "cid", "value"],
37
+ "type": "object"
38
+ }
39
+ },
40
+ "type": "query"
41
+ }
42
+ },
43
+ "id": "com.atiproto.feed.tip.get",
44
+ "lexicon": 1
45
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.feed.tip.list",
4
+ "defs": {
5
+ "main": {
6
+ "type": "query",
7
+ "description": "List tips for the authenticated user",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "properties": {
13
+ "cursor": {
14
+ "type": "string",
15
+ "description": "Pagination cursor"
16
+ },
17
+ "limit": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "maximum": 100,
21
+ "default": 50,
22
+ "description": "Results per page (1-100, default: 50)"
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "output": {
28
+ "encoding": "application/json",
29
+ "schema": {
30
+ "type": "object",
31
+ "required": ["records"],
32
+ "properties": {
33
+ "records": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "ref",
37
+ "ref": "com.atiproto.tip"
38
+ }
39
+ },
40
+ "cursor": {
41
+ "type": "string",
42
+ "description": "Pagination cursor for next page"
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.feed.tip.put",
4
+ "defs": {
5
+ "main": {
6
+ "type": "procedure",
7
+ "description": "Update a pending tip. Only pending tips can be updated.",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "required": ["uri", "record"],
13
+ "properties": {
14
+ "uri": {
15
+ "type": "string",
16
+ "format": "at-uri",
17
+ "description": "AT-URI of the tip record to update"
18
+ },
19
+ "record": {
20
+ "type": "ref",
21
+ "ref": "com.atiproto.tip"
22
+ }
23
+ }
24
+ }
25
+ },
26
+ "output": {
27
+ "encoding": "application/json",
28
+ "schema": {
29
+ "type": "object",
30
+ "required": ["uri", "cid"],
31
+ "properties": {
32
+ "uri": {
33
+ "type": "string",
34
+ "format": "at-uri",
35
+ "description": "Updated tip record URI"
36
+ },
37
+ "cid": {
38
+ "type": "string",
39
+ "format": "cid",
40
+ "description": "New CID of the updated record"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.profile",
4
+ "defs": {
5
+ "main": {
6
+ "type": "record",
7
+ "description": "A record representing a user's tipping/subscription settings",
8
+ "key": "literal:self",
9
+ "record": {
10
+ "type": "object",
11
+ "required": ["createdAt"],
12
+ "properties": {
13
+ "acceptsTips": {
14
+ "type": "boolean",
15
+ "description": "Whether user accepts tips (default: true)"
16
+ },
17
+ "acceptsSubscriptions": {
18
+ "type": "boolean",
19
+ "description": "Whether user accepts subscriptions (default: true)"
20
+ },
21
+ "allowZeroTips": {
22
+ "type": "boolean",
23
+ "description": "Allow $0 tips (default: false)"
24
+ },
25
+ "minimumTip": {
26
+ "type": "integer",
27
+ "description": "Minimum tip amount in cents (default: 100)"
28
+ },
29
+ "disableReceiptNotifications": {
30
+ "type": "boolean",
31
+ "description": "Opt out of payment receipt DMs (default: false)"
32
+ },
33
+ "subscriptionTiers": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "ref",
37
+ "ref": "#subscriptionTier"
38
+ }
39
+ },
40
+ "createdAt": {
41
+ "type": "string",
42
+ "format": "datetime",
43
+ "description": "Creation timestamp"
44
+ },
45
+ "updatedAt": {
46
+ "type": "string",
47
+ "format": "datetime",
48
+ "description": "Last update timestamp"
49
+ }
50
+ }
51
+ }
52
+ },
53
+ "subscriptionTier": {
54
+ "type": "object",
55
+ "required": ["id", "name", "amount", "interval"],
56
+ "properties": {
57
+ "id": {
58
+ "type": "string",
59
+ "description": "Unique tier identifier"
60
+ },
61
+ "name": {
62
+ "type": "string",
63
+ "description": "Display name"
64
+ },
65
+ "amount": {
66
+ "type": "integer",
67
+ "minimum": 0,
68
+ "description": "Amount in cents (0 for free tiers)"
69
+ },
70
+ "interval": {
71
+ "type": "string",
72
+ "description": "Billing interval: monthly or yearly"
73
+ },
74
+ "description": {
75
+ "type": "string",
76
+ "description": "Tier description"
77
+ },
78
+ "benefits": {
79
+ "type": "array",
80
+ "items": {
81
+ "type": "string"
82
+ },
83
+ "description": "List of benefit strings"
84
+ }
85
+ }
86
+ }
87
+ }
88
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "com.atiproto.repo.profile.get",
4
+ "defs": {
5
+ "main": {
6
+ "type": "query",
7
+ "description": "Look up public profile information for any user",
8
+ "parameters": {
9
+ "type": "params",
10
+ "required": ["did"],
11
+ "properties": {
12
+ "did": {
13
+ "type": "string",
14
+ "format": "did",
15
+ "description": "DID of the user to look up"
16
+ }
17
+ }
18
+ },
19
+ "output": {
20
+ "encoding": "application/json",
21
+ "schema": {
22
+ "type": "object",
23
+ "required": ["did", "profile"],
24
+ "properties": {
25
+ "did": {
26
+ "type": "string",
27
+ "format": "did",
28
+ "description": "User's DID"
29
+ },
30
+ "profile": {
31
+ "type": "ref",
32
+ "ref": "com.atiproto.profile",
33
+ "description": "Public profile data"
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }