@atiproto/lexicons 0.3.0 → 0.4.0

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 (25) hide show
  1. package/dist/index.js +310 -52
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +310 -52
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/lexicons/com/atiproto/account/cart/clone.defs.d.ts +6 -6
  6. package/dist/lexicons/com/atiproto/account/cart/create.defs.d.ts +2 -2
  7. package/dist/lexicons/com/atiproto/account/cart/get.defs.d.ts +6 -6
  8. package/dist/lexicons/com/atiproto/account/cart/list.defs.d.ts +1 -1
  9. package/dist/lexicons/com/atiproto/account/profile/get.defs.d.ts +2 -2
  10. package/dist/lexicons/com/atiproto/account/profile/put.defs.d.ts +2 -2
  11. package/dist/lexicons/com/atiproto/cart.defs.d.ts +33 -0
  12. package/dist/lexicons/com/atiproto/feed/subscription/cancel.defs.d.ts +2 -2
  13. package/dist/lexicons/com/atiproto/feed/subscription/create.defs.d.ts +4 -4
  14. package/dist/lexicons/com/atiproto/feed/subscription/get.defs.d.ts +2 -2
  15. package/dist/lexicons/com/atiproto/feed/subscription/list.defs.d.ts +1 -1
  16. package/dist/lexicons/com/atiproto/feed/tip/create.defs.d.ts +4 -4
  17. package/dist/lexicons/com/atiproto/feed/tip/get.defs.d.ts +2 -2
  18. package/dist/lexicons/com/atiproto/feed/tip/list.defs.d.ts +2 -2
  19. package/dist/lexicons/com/atiproto/profile.defs.d.ts +28 -0
  20. package/dist/lexicons/com/atiproto/repo/profile/get.defs.d.ts +2 -2
  21. package/dist/lexicons/com/atiproto/repo/subscription/search.defs.d.ts +1 -1
  22. package/dist/lexicons/com/atiproto/repo/tip/search.defs.d.ts +1 -1
  23. package/dist/lexicons/com/atiproto/subscription.defs.d.ts +44 -0
  24. package/dist/lexicons/com/atiproto/tip.defs.d.ts +40 -0
  25. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -103,7 +103,8 @@ __export(cart_defs_exports, {
103
103
  $type: () => $type,
104
104
  $validate: () => $validate,
105
105
  cartItem: () => cartItem,
106
- main: () => main
106
+ main: () => main,
107
+ view: () => view
107
108
  });
108
109
  var import_lex = require("@atproto/lex");
109
110
  var $nsid = "com.atiproto.cart";
@@ -132,6 +133,19 @@ var $parse = /* @__PURE__ */ main.parse.bind(main);
132
133
  var $safeParse = /* @__PURE__ */ main.safeParse.bind(main);
133
134
  var $validate = /* @__PURE__ */ main.validate.bind(main);
134
135
  var $safeValidate = /* @__PURE__ */ main.safeValidate.bind(main);
136
+ var view = import_lex.l.typedObject(
137
+ $nsid,
138
+ "view",
139
+ import_lex.l.object({
140
+ items: import_lex.l.array(import_lex.l.ref((() => cartItem))),
141
+ currency: import_lex.l.string({ maxLength: 3 }),
142
+ total: import_lex.l.integer(),
143
+ status: import_lex.l.enum(["open", "completed", "expired", "abandoned"]),
144
+ createdAt: import_lex.l.string({ format: "datetime" }),
145
+ expiresAt: import_lex.l.string({ format: "datetime" }),
146
+ completedAt: import_lex.l.optional(import_lex.l.string({ format: "datetime" }))
147
+ })
148
+ );
135
149
  var cartItem = import_lex.l.typedObject(
136
150
  $nsid,
137
151
  "cartItem",
@@ -157,7 +171,8 @@ __export(tip_defs_exports, {
157
171
  $safeValidate: () => $safeValidate2,
158
172
  $type: () => $type2,
159
173
  $validate: () => $validate2,
160
- main: () => main2
174
+ main: () => main2,
175
+ view: () => view2
161
176
  });
162
177
  var import_lex2 = require("@atproto/lex");
163
178
  var $nsid2 = "com.atiproto.tip";
@@ -193,6 +208,26 @@ var $parse2 = /* @__PURE__ */ main2.parse.bind(main2);
193
208
  var $safeParse2 = /* @__PURE__ */ main2.safeParse.bind(main2);
194
209
  var $validate2 = /* @__PURE__ */ main2.validate.bind(main2);
195
210
  var $safeValidate2 = /* @__PURE__ */ main2.safeValidate.bind(main2);
211
+ var view2 = import_lex2.l.typedObject(
212
+ $nsid2,
213
+ "view",
214
+ import_lex2.l.object({
215
+ subject: import_lex2.l.string({ format: "did" }),
216
+ recordUri: import_lex2.l.optional(import_lex2.l.string({ format: "at-uri" })),
217
+ amount: import_lex2.l.integer({ minimum: 0 }),
218
+ currency: import_lex2.l.string({ maxLength: 3 }),
219
+ status: import_lex2.l.enum([
220
+ "pending",
221
+ "authorized",
222
+ "completed",
223
+ "failed",
224
+ "refunded"
225
+ ]),
226
+ message: import_lex2.l.optional(import_lex2.l.string({ maxGraphemes: 500, maxLength: 5e3 })),
227
+ createdAt: import_lex2.l.string({ format: "datetime" }),
228
+ completedAt: import_lex2.l.optional(import_lex2.l.string({ format: "datetime" }))
229
+ })
230
+ );
196
231
 
197
232
  // src/lexicons/com/atiproto/subscription.defs.ts
198
233
  var subscription_defs_exports = {};
@@ -210,7 +245,8 @@ __export(subscription_defs_exports, {
210
245
  $safeValidate: () => $safeValidate3,
211
246
  $type: () => $type3,
212
247
  $validate: () => $validate3,
213
- main: () => main3
248
+ main: () => main3,
249
+ view: () => view3
214
250
  });
215
251
  var import_lex3 = require("@atproto/lex");
216
252
  var $nsid3 = "com.atiproto.subscription";
@@ -241,6 +277,21 @@ var $parse3 = /* @__PURE__ */ main3.parse.bind(main3);
241
277
  var $safeParse3 = /* @__PURE__ */ main3.safeParse.bind(main3);
242
278
  var $validate3 = /* @__PURE__ */ main3.validate.bind(main3);
243
279
  var $safeValidate3 = /* @__PURE__ */ main3.safeValidate.bind(main3);
280
+ var view3 = import_lex3.l.typedObject(
281
+ $nsid3,
282
+ "view",
283
+ import_lex3.l.object({
284
+ subject: import_lex3.l.string({ format: "did" }),
285
+ amount: import_lex3.l.integer({ minimum: 0 }),
286
+ currency: import_lex3.l.string({ maxLength: 3 }),
287
+ interval: import_lex3.l.enum(["monthly", "yearly"]),
288
+ status: import_lex3.l.enum(["pending", "active", "past_due", "cancelled", "expired"]),
289
+ billingStartDate: import_lex3.l.string({ format: "datetime" }),
290
+ cancelledAt: import_lex3.l.optional(import_lex3.l.string({ format: "datetime" })),
291
+ accessUntil: import_lex3.l.optional(import_lex3.l.string({ format: "datetime" })),
292
+ createdAt: import_lex3.l.string({ format: "datetime" })
293
+ })
294
+ );
244
295
 
245
296
  // src/lexicons/com/atiproto/account/cart/clone.defs.ts
246
297
  var $nsid4 = "com.atiproto.account.cart.clone";
@@ -252,13 +303,13 @@ var main4 = import_lex4.l.procedure(
252
303
  redirectUrl: import_lex4.l.optional(import_lex4.l.string({ format: "uri" }))
253
304
  }),
254
305
  import_lex4.l.jsonPayload({
255
- cart: import_lex4.l.ref((() => main)),
306
+ cart: import_lex4.l.ref((() => view)),
256
307
  cartUri: import_lex4.l.string({ format: "at-uri" }),
257
308
  checkoutUrl: import_lex4.l.string({ format: "uri" }),
258
- tips: import_lex4.l.array(import_lex4.l.ref((() => main2))),
309
+ tips: import_lex4.l.array(import_lex4.l.ref((() => view2))),
259
310
  subscriptions: import_lex4.l.array(
260
311
  import_lex4.l.ref(
261
- (() => main3)
312
+ (() => view3)
262
313
  )
263
314
  )
264
315
  })
@@ -300,7 +351,7 @@ var main5 = import_lex5.l.procedure(
300
351
  redirectUrl: import_lex5.l.optional(import_lex5.l.string({ format: "uri" }))
301
352
  }),
302
353
  import_lex5.l.jsonPayload({
303
- cart: import_lex5.l.ref((() => main)),
354
+ cart: import_lex5.l.ref((() => view)),
304
355
  cartUri: import_lex5.l.string({ format: "at-uri" }),
305
356
  checkoutUrl: import_lex5.l.string({ format: "uri" })
306
357
  })
@@ -338,12 +389,12 @@ var main6 = import_lex6.l.query(
338
389
  import_lex6.l.jsonPayload({
339
390
  uri: import_lex6.l.string({ format: "at-uri" }),
340
391
  cid: import_lex6.l.optional(import_lex6.l.string({ format: "cid" })),
341
- cart: import_lex6.l.ref((() => main)),
392
+ cart: import_lex6.l.ref((() => view)),
342
393
  checkoutUrl: import_lex6.l.optional(import_lex6.l.string({ format: "uri" })),
343
- tips: import_lex6.l.array(import_lex6.l.ref((() => main2))),
394
+ tips: import_lex6.l.array(import_lex6.l.ref((() => view2))),
344
395
  subscriptions: import_lex6.l.array(
345
396
  import_lex6.l.ref(
346
- (() => main3)
397
+ (() => view3)
347
398
  )
348
399
  )
349
400
  })
@@ -393,7 +444,7 @@ var cartResponse = import_lex7.l.typedObject(
393
444
  import_lex7.l.object({
394
445
  uri: import_lex7.l.string({ format: "at-uri" }),
395
446
  cid: import_lex7.l.string({ format: "cid" }),
396
- record: import_lex7.l.ref((() => main))
447
+ record: import_lex7.l.ref((() => view))
397
448
  })
398
449
  );
399
450
 
@@ -483,7 +534,8 @@ __export(profile_defs_exports, {
483
534
  $safeValidate: () => $safeValidate4,
484
535
  $type: () => $type4,
485
536
  $validate: () => $validate4,
486
- main: () => main9
537
+ main: () => main9,
538
+ view: () => view4
487
539
  });
488
540
  var import_lex9 = require("@atproto/lex");
489
541
  var $nsid9 = "com.atiproto.profile";
@@ -510,6 +562,17 @@ var $parse4 = /* @__PURE__ */ main9.parse.bind(main9);
510
562
  var $safeParse4 = /* @__PURE__ */ main9.safeParse.bind(main9);
511
563
  var $validate4 = /* @__PURE__ */ main9.validate.bind(main9);
512
564
  var $safeValidate4 = /* @__PURE__ */ main9.safeValidate.bind(main9);
565
+ var view4 = import_lex9.l.typedObject(
566
+ $nsid9,
567
+ "view",
568
+ import_lex9.l.object({
569
+ acceptsTips: import_lex9.l.optional(import_lex9.l.boolean()),
570
+ acceptsSubscriptions: import_lex9.l.optional(import_lex9.l.boolean()),
571
+ disableReceiptNotifications: import_lex9.l.optional(import_lex9.l.boolean()),
572
+ createdAt: import_lex9.l.string({ format: "datetime" }),
573
+ updatedAt: import_lex9.l.optional(import_lex9.l.string({ format: "datetime" }))
574
+ })
575
+ );
513
576
 
514
577
  // src/lexicons/com/atiproto/account/profile/get.defs.ts
515
578
  var $nsid10 = "com.atiproto.account.profile.get";
@@ -519,7 +582,7 @@ var main10 = import_lex10.l.query(
519
582
  import_lex10.l.jsonPayload({
520
583
  uri: import_lex10.l.optional(import_lex10.l.string({ format: "at-uri" })),
521
584
  cid: import_lex10.l.optional(import_lex10.l.string({ format: "cid" })),
522
- profile: import_lex10.l.ref((() => main9)),
585
+ profile: import_lex10.l.ref((() => view4)),
523
586
  hasProfile: import_lex10.l.boolean(),
524
587
  readyForPayment: import_lex10.l.boolean()
525
588
  })
@@ -563,7 +626,7 @@ var main11 = import_lex11.l.procedure(
563
626
  import_lex11.l.jsonPayload({
564
627
  uri: import_lex11.l.string({ format: "at-uri" }),
565
628
  cid: import_lex11.l.string({ format: "cid" }),
566
- profile: import_lex11.l.ref((() => main9)),
629
+ profile: import_lex11.l.ref((() => view4)),
567
630
  hasProfile: import_lex11.l.boolean(),
568
631
  readyForPayment: import_lex11.l.boolean()
569
632
  })
@@ -710,7 +773,8 @@ __export(cart_exports2, {
710
773
  $type: () => $type,
711
774
  $validate: () => $validate,
712
775
  cartItem: () => cartItem,
713
- main: () => main
776
+ main: () => main,
777
+ view: () => view
714
778
  });
715
779
 
716
780
  // src/lexicons/com/atiproto/feed.ts
@@ -806,7 +870,7 @@ var main15 = import_lex15.l.procedure(
806
870
  import_lex15.l.jsonPayload({
807
871
  subscriptionUri: import_lex15.l.string({ format: "at-uri" }),
808
872
  subscription: import_lex15.l.ref(
809
- (() => main3)
873
+ (() => view3)
810
874
  ),
811
875
  accessUntil: import_lex15.l.string({ format: "datetime" })
812
876
  })
@@ -854,11 +918,11 @@ var main16 = import_lex16.l.procedure(
854
918
  import_lex16.l.jsonPayload({
855
919
  subscriptionUri: import_lex16.l.string({ format: "at-uri" }),
856
920
  subscription: import_lex16.l.ref(
857
- (() => main3)
921
+ (() => view3)
858
922
  ),
859
923
  cartUri: import_lex16.l.optional(import_lex16.l.string({ format: "at-uri" })),
860
924
  cart: import_lex16.l.optional(
861
- import_lex16.l.ref((() => main))
925
+ import_lex16.l.ref((() => view))
862
926
  ),
863
927
  checkoutUrl: import_lex16.l.optional(import_lex16.l.string({ format: "uri" }))
864
928
  })
@@ -897,7 +961,7 @@ var main17 = import_lex17.l.query(
897
961
  uri: import_lex17.l.string({ format: "at-uri" }),
898
962
  cid: import_lex17.l.string({ format: "cid" }),
899
963
  record: import_lex17.l.ref(
900
- (() => main3)
964
+ (() => view3)
901
965
  )
902
966
  })
903
967
  );
@@ -948,7 +1012,7 @@ var subscriptionResponse = import_lex18.l.typedObject(
948
1012
  import_lex18.l.object({
949
1013
  uri: import_lex18.l.string({ format: "at-uri" }),
950
1014
  record: import_lex18.l.ref(
951
- (() => main3)
1015
+ (() => view3)
952
1016
  )
953
1017
  })
954
1018
  );
@@ -1043,10 +1107,10 @@ var main20 = import_lex20.l.procedure(
1043
1107
  }),
1044
1108
  import_lex20.l.jsonPayload({
1045
1109
  tipUri: import_lex20.l.string({ format: "at-uri" }),
1046
- tip: import_lex20.l.ref((() => main2)),
1110
+ tip: import_lex20.l.ref((() => view2)),
1047
1111
  cartUri: import_lex20.l.optional(import_lex20.l.string({ format: "at-uri" })),
1048
1112
  cart: import_lex20.l.optional(
1049
- import_lex20.l.ref((() => main))
1113
+ import_lex20.l.ref((() => view))
1050
1114
  ),
1051
1115
  checkoutUrl: import_lex20.l.optional(import_lex20.l.string({ format: "uri" }))
1052
1116
  })
@@ -1084,7 +1148,7 @@ var main21 = import_lex21.l.query(
1084
1148
  import_lex21.l.jsonPayload({
1085
1149
  uri: import_lex21.l.string({ format: "at-uri" }),
1086
1150
  cid: import_lex21.l.string({ format: "cid" }),
1087
- value: import_lex21.l.ref((() => main2))
1151
+ value: import_lex21.l.ref((() => view2))
1088
1152
  })
1089
1153
  );
1090
1154
  var $lxm15 = main21.nsid;
@@ -1117,7 +1181,7 @@ var main22 = import_lex22.l.query(
1117
1181
  $nsid22,
1118
1182
  import_lex22.l.params(),
1119
1183
  import_lex22.l.jsonPayload({
1120
- records: import_lex22.l.array(import_lex22.l.ref((() => main2))),
1184
+ records: import_lex22.l.array(import_lex22.l.ref((() => view2))),
1121
1185
  cursor: import_lex22.l.optional(import_lex22.l.string({ maxLength: 512 }))
1122
1186
  })
1123
1187
  );
@@ -1183,7 +1247,8 @@ __export(profile_exports2, {
1183
1247
  $safeValidate: () => $safeValidate4,
1184
1248
  $type: () => $type4,
1185
1249
  $validate: () => $validate4,
1186
- main: () => main9
1250
+ main: () => main9,
1251
+ view: () => view4
1187
1252
  });
1188
1253
 
1189
1254
  // src/lexicons/com/atiproto/repo.ts
@@ -1227,7 +1292,7 @@ var main24 = import_lex24.l.query(
1227
1292
  import_lex24.l.params({ did: import_lex24.l.string({ format: "did" }) }),
1228
1293
  import_lex24.l.jsonPayload({
1229
1294
  did: import_lex24.l.string({ format: "did" }),
1230
- profile: import_lex24.l.ref((() => main9))
1295
+ profile: import_lex24.l.ref((() => view4))
1231
1296
  })
1232
1297
  );
1233
1298
  var $lxm18 = main24.nsid;
@@ -1290,7 +1355,7 @@ var subscriptionResponse2 = import_lex25.l.typedObject(
1290
1355
  import_lex25.l.object({
1291
1356
  uri: import_lex25.l.string({ format: "at-uri" }),
1292
1357
  record: import_lex25.l.ref(
1293
- (() => main3)
1358
+ (() => view3)
1294
1359
  )
1295
1360
  })
1296
1361
  );
@@ -1389,7 +1454,7 @@ var tipResponse = import_lex27.l.typedObject(
1389
1454
  "tipResponse",
1390
1455
  import_lex27.l.object({
1391
1456
  uri: import_lex27.l.string({ format: "at-uri" }),
1392
- record: import_lex27.l.ref((() => main2))
1457
+ record: import_lex27.l.ref((() => view2))
1393
1458
  })
1394
1459
  );
1395
1460
 
@@ -1452,7 +1517,8 @@ __export(subscription_exports3, {
1452
1517
  $safeValidate: () => $safeValidate3,
1453
1518
  $type: () => $type3,
1454
1519
  $validate: () => $validate3,
1455
- main: () => main3
1520
+ main: () => main3,
1521
+ view: () => view3
1456
1522
  });
1457
1523
 
1458
1524
  // src/lexicons/com/atiproto/tip.ts
@@ -1472,7 +1538,8 @@ __export(tip_exports3, {
1472
1538
  $safeValidate: () => $safeValidate2,
1473
1539
  $type: () => $type2,
1474
1540
  $validate: () => $validate2,
1475
- main: () => main2
1541
+ main: () => main2,
1542
+ view: () => view2
1476
1543
  });
1477
1544
 
1478
1545
  // src/schemas/account/cart/clone.json
@@ -1516,7 +1583,7 @@ var clone_default = {
1516
1583
  properties: {
1517
1584
  cart: {
1518
1585
  type: "ref",
1519
- ref: "com.atiproto.cart",
1586
+ ref: "com.atiproto.cart#view",
1520
1587
  description: "The new cart record"
1521
1588
  },
1522
1589
  cartUri: {
@@ -1533,7 +1600,7 @@ var clone_default = {
1533
1600
  type: "array",
1534
1601
  items: {
1535
1602
  type: "ref",
1536
- ref: "com.atiproto.tip"
1603
+ ref: "com.atiproto.tip#view"
1537
1604
  },
1538
1605
  description: "Newly created tip records"
1539
1606
  },
@@ -1541,7 +1608,7 @@ var clone_default = {
1541
1608
  type: "array",
1542
1609
  items: {
1543
1610
  type: "ref",
1544
- ref: "com.atiproto.subscription"
1611
+ ref: "com.atiproto.subscription#view"
1545
1612
  },
1546
1613
  description: "Newly created subscription records"
1547
1614
  }
@@ -1587,7 +1654,7 @@ var create_default = {
1587
1654
  properties: {
1588
1655
  cart: {
1589
1656
  type: "ref",
1590
- ref: "com.atiproto.cart",
1657
+ ref: "com.atiproto.cart#view",
1591
1658
  description: "The created cart record"
1592
1659
  },
1593
1660
  cartUri: {
@@ -1644,7 +1711,7 @@ var get_default = {
1644
1711
  },
1645
1712
  cart: {
1646
1713
  type: "ref",
1647
- ref: "com.atiproto.cart",
1714
+ ref: "com.atiproto.cart#view",
1648
1715
  description: "The cart record data"
1649
1716
  },
1650
1717
  checkoutUrl: {
@@ -1656,7 +1723,7 @@ var get_default = {
1656
1723
  type: "array",
1657
1724
  items: {
1658
1725
  type: "ref",
1659
- ref: "com.atiproto.tip"
1726
+ ref: "com.atiproto.tip#view"
1660
1727
  },
1661
1728
  description: "Resolved tip records referenced by this cart"
1662
1729
  },
@@ -1664,7 +1731,7 @@ var get_default = {
1664
1731
  type: "array",
1665
1732
  items: {
1666
1733
  type: "ref",
1667
- ref: "com.atiproto.subscription"
1734
+ ref: "com.atiproto.subscription#view"
1668
1735
  },
1669
1736
  description: "Resolved subscription records referenced by this cart"
1670
1737
  }
@@ -1747,7 +1814,7 @@ var list_default = {
1747
1814
  },
1748
1815
  record: {
1749
1816
  type: "ref",
1750
- ref: "com.atiproto.cart"
1817
+ ref: "com.atiproto.cart#view"
1751
1818
  }
1752
1819
  }
1753
1820
  }
@@ -1829,7 +1896,7 @@ var get_default2 = {
1829
1896
  },
1830
1897
  profile: {
1831
1898
  type: "ref",
1832
- ref: "com.atiproto.profile",
1899
+ ref: "com.atiproto.profile#view",
1833
1900
  description: "The profile record data (defaults if not configured)"
1834
1901
  },
1835
1902
  hasProfile: {
@@ -1899,7 +1966,7 @@ var put_default2 = {
1899
1966
  },
1900
1967
  profile: {
1901
1968
  type: "ref",
1902
- ref: "com.atiproto.profile",
1969
+ ref: "com.atiproto.profile#view",
1903
1970
  description: "The profile record data"
1904
1971
  },
1905
1972
  hasProfile: {
@@ -1977,6 +2044,57 @@ var cart_default = {
1977
2044
  }
1978
2045
  }
1979
2046
  },
2047
+ view: {
2048
+ type: "object",
2049
+ description: "View of a cart record for use in API responses",
2050
+ required: [
2051
+ "items",
2052
+ "currency",
2053
+ "total",
2054
+ "status",
2055
+ "createdAt",
2056
+ "expiresAt"
2057
+ ],
2058
+ properties: {
2059
+ items: {
2060
+ type: "array",
2061
+ items: {
2062
+ type: "ref",
2063
+ ref: "#cartItem"
2064
+ }
2065
+ },
2066
+ currency: {
2067
+ type: "string",
2068
+ maxLength: 3,
2069
+ description: "ISO 4217 currency code"
2070
+ },
2071
+ total: {
2072
+ type: "integer",
2073
+ description: "Total amount in cents"
2074
+ },
2075
+ status: {
2076
+ type: "string",
2077
+ maxLength: 64,
2078
+ enum: ["open", "completed", "expired", "abandoned"],
2079
+ description: "Cart status"
2080
+ },
2081
+ createdAt: {
2082
+ type: "string",
2083
+ format: "datetime",
2084
+ description: "Creation timestamp"
2085
+ },
2086
+ expiresAt: {
2087
+ type: "string",
2088
+ format: "datetime",
2089
+ description: "Expiration timestamp"
2090
+ },
2091
+ completedAt: {
2092
+ type: "string",
2093
+ format: "datetime",
2094
+ description: "Completion timestamp"
2095
+ }
2096
+ }
2097
+ },
1980
2098
  cartItem: {
1981
2099
  type: "object",
1982
2100
  required: ["type", "recordUri"],
@@ -2085,7 +2203,7 @@ var cancel_default = {
2085
2203
  },
2086
2204
  subscription: {
2087
2205
  type: "ref",
2088
- ref: "com.atiproto.subscription",
2206
+ ref: "com.atiproto.subscription#view",
2089
2207
  description: "Updated subscription record"
2090
2208
  },
2091
2209
  accessUntil: {
@@ -2156,7 +2274,7 @@ var create_default2 = {
2156
2274
  subscription: {
2157
2275
  description: "The created subscription record (status: pending)",
2158
2276
  type: "ref",
2159
- ref: "com.atiproto.subscription"
2277
+ ref: "com.atiproto.subscription#view"
2160
2278
  },
2161
2279
  cartUri: {
2162
2280
  description: "URI of the cart record in PDS",
@@ -2166,7 +2284,7 @@ var create_default2 = {
2166
2284
  cart: {
2167
2285
  description: "The created cart record (status: open)",
2168
2286
  type: "ref",
2169
- ref: "com.atiproto.cart"
2287
+ ref: "com.atiproto.cart#view"
2170
2288
  },
2171
2289
  checkoutUrl: {
2172
2290
  description: "Checkout URL hosted by atiproto",
@@ -2218,7 +2336,7 @@ var get_default3 = {
2218
2336
  record: {
2219
2337
  description: "The subscription record data",
2220
2338
  type: "ref",
2221
- ref: "com.atiproto.subscription"
2339
+ ref: "com.atiproto.subscription#view"
2222
2340
  }
2223
2341
  },
2224
2342
  required: ["uri", "cid", "record"],
@@ -2293,7 +2411,7 @@ var list_default3 = {
2293
2411
  },
2294
2412
  record: {
2295
2413
  type: "ref",
2296
- ref: "com.atiproto.subscription"
2414
+ ref: "com.atiproto.subscription#view"
2297
2415
  }
2298
2416
  }
2299
2417
  }
@@ -2414,7 +2532,7 @@ var create_default3 = {
2414
2532
  },
2415
2533
  tip: {
2416
2534
  type: "ref",
2417
- ref: "com.atiproto.tip",
2535
+ ref: "com.atiproto.tip#view",
2418
2536
  description: "The created tip record (status: pending)"
2419
2537
  },
2420
2538
  cartUri: {
@@ -2424,7 +2542,7 @@ var create_default3 = {
2424
2542
  },
2425
2543
  cart: {
2426
2544
  type: "ref",
2427
- ref: "com.atiproto.cart",
2545
+ ref: "com.atiproto.cart#view",
2428
2546
  description: "The cart record (new or updated)"
2429
2547
  },
2430
2548
  checkoutUrl: {
@@ -2472,7 +2590,7 @@ var get_default4 = {
2472
2590
  value: {
2473
2591
  description: "The tip record data",
2474
2592
  type: "ref",
2475
- ref: "com.atiproto.tip"
2593
+ ref: "com.atiproto.tip#view"
2476
2594
  }
2477
2595
  },
2478
2596
  required: ["uri", "cid", "value"],
@@ -2524,7 +2642,7 @@ var list_default4 = {
2524
2642
  type: "array",
2525
2643
  items: {
2526
2644
  type: "ref",
2527
- ref: "com.atiproto.tip"
2645
+ ref: "com.atiproto.tip#view"
2528
2646
  }
2529
2647
  },
2530
2648
  cursor: {
@@ -2625,6 +2743,35 @@ var profile_default = {
2625
2743
  }
2626
2744
  }
2627
2745
  }
2746
+ },
2747
+ view: {
2748
+ type: "object",
2749
+ description: "View of a user's profile settings for use in API responses",
2750
+ required: ["createdAt"],
2751
+ properties: {
2752
+ acceptsTips: {
2753
+ type: "boolean",
2754
+ description: "Whether user accepts tips (default: true)"
2755
+ },
2756
+ acceptsSubscriptions: {
2757
+ type: "boolean",
2758
+ description: "Whether user accepts subscriptions (default: true)"
2759
+ },
2760
+ disableReceiptNotifications: {
2761
+ type: "boolean",
2762
+ description: "Opt out of payment receipt DMs (default: false)"
2763
+ },
2764
+ createdAt: {
2765
+ type: "string",
2766
+ format: "datetime",
2767
+ description: "Creation timestamp"
2768
+ },
2769
+ updatedAt: {
2770
+ type: "string",
2771
+ format: "datetime",
2772
+ description: "Last update timestamp"
2773
+ }
2774
+ }
2628
2775
  }
2629
2776
  }
2630
2777
  };
@@ -2661,7 +2808,7 @@ var get_default5 = {
2661
2808
  },
2662
2809
  profile: {
2663
2810
  type: "ref",
2664
- ref: "com.atiproto.profile",
2811
+ ref: "com.atiproto.profile#view",
2665
2812
  description: "Public profile data"
2666
2813
  }
2667
2814
  }
@@ -2735,7 +2882,7 @@ var search_default = {
2735
2882
  },
2736
2883
  record: {
2737
2884
  type: "ref",
2738
- ref: "com.atiproto.subscription"
2885
+ ref: "com.atiproto.subscription#view"
2739
2886
  }
2740
2887
  }
2741
2888
  }
@@ -2870,7 +3017,7 @@ var search_default2 = {
2870
3017
  },
2871
3018
  record: {
2872
3019
  type: "ref",
2873
- ref: "com.atiproto.tip"
3020
+ ref: "com.atiproto.tip#view"
2874
3021
  }
2875
3022
  }
2876
3023
  }
@@ -3119,6 +3266,68 @@ var subscription_default = {
3119
3266
  type: "object"
3120
3267
  },
3121
3268
  type: "record"
3269
+ },
3270
+ view: {
3271
+ type: "object",
3272
+ description: "View of a subscription record for use in API responses",
3273
+ required: [
3274
+ "subject",
3275
+ "amount",
3276
+ "currency",
3277
+ "interval",
3278
+ "status",
3279
+ "billingStartDate",
3280
+ "createdAt"
3281
+ ],
3282
+ properties: {
3283
+ subject: {
3284
+ description: "DID of the user being subscribed to",
3285
+ format: "did",
3286
+ type: "string"
3287
+ },
3288
+ amount: {
3289
+ description: "Subscription amount in cents (0 for free subscriptions)",
3290
+ minimum: 0,
3291
+ type: "integer"
3292
+ },
3293
+ currency: {
3294
+ description: "ISO 4217 currency code",
3295
+ maxLength: 3,
3296
+ type: "string"
3297
+ },
3298
+ interval: {
3299
+ description: "Billing interval",
3300
+ maxLength: 64,
3301
+ enum: ["monthly", "yearly"],
3302
+ type: "string"
3303
+ },
3304
+ status: {
3305
+ description: "Subscription status",
3306
+ maxLength: 64,
3307
+ enum: ["pending", "active", "past_due", "cancelled", "expired"],
3308
+ type: "string"
3309
+ },
3310
+ billingStartDate: {
3311
+ description: "First billing period, can be used to determine recurrence",
3312
+ format: "datetime",
3313
+ type: "string"
3314
+ },
3315
+ cancelledAt: {
3316
+ description: "Cancellation timestamp",
3317
+ format: "datetime",
3318
+ type: "string"
3319
+ },
3320
+ accessUntil: {
3321
+ description: "Date until which the subscriber retains access after cancellation",
3322
+ format: "datetime",
3323
+ type: "string"
3324
+ },
3325
+ createdAt: {
3326
+ description: "Creation timestamp",
3327
+ format: "datetime",
3328
+ type: "string"
3329
+ }
3330
+ }
3122
3331
  }
3123
3332
  },
3124
3333
  id: "com.atiproto.subscription",
@@ -3180,6 +3389,55 @@ var tip_default = {
3180
3389
  type: "object"
3181
3390
  },
3182
3391
  type: "record"
3392
+ },
3393
+ view: {
3394
+ type: "object",
3395
+ description: "View of a tip record for use in API responses",
3396
+ required: ["subject", "amount", "currency", "status", "createdAt"],
3397
+ properties: {
3398
+ subject: {
3399
+ description: "DID of the user receiving the tip",
3400
+ format: "did",
3401
+ type: "string"
3402
+ },
3403
+ recordUri: {
3404
+ description: "AT-URI of specific record being tipped",
3405
+ format: "at-uri",
3406
+ type: "string"
3407
+ },
3408
+ amount: {
3409
+ description: "Tip amount in cents (0 when recipient allows zero tips)",
3410
+ minimum: 0,
3411
+ type: "integer"
3412
+ },
3413
+ currency: {
3414
+ description: "ISO 4217 currency code",
3415
+ maxLength: 3,
3416
+ type: "string"
3417
+ },
3418
+ status: {
3419
+ description: "Tip status",
3420
+ maxLength: 64,
3421
+ type: "string",
3422
+ enum: ["pending", "authorized", "completed", "failed", "refunded"]
3423
+ },
3424
+ message: {
3425
+ description: "Optional message (max 500 chars)",
3426
+ maxGraphemes: 500,
3427
+ maxLength: 5e3,
3428
+ type: "string"
3429
+ },
3430
+ createdAt: {
3431
+ description: "Creation timestamp",
3432
+ format: "datetime",
3433
+ type: "string"
3434
+ },
3435
+ completedAt: {
3436
+ description: "Completion timestamp",
3437
+ format: "datetime",
3438
+ type: "string"
3439
+ }
3440
+ }
3183
3441
  }
3184
3442
  },
3185
3443
  id: "com.atiproto.tip",