@atiproto/lexicons 0.2.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 (28) hide show
  1. package/dist/index.js +400 -98
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +400 -98
  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 +8 -4
  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 +7 -3
  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 +45 -12
  12. package/dist/lexicons/com/atiproto/feed/list.defs.d.ts +6 -2
  13. package/dist/lexicons/com/atiproto/feed/subscription/cancel.defs.d.ts +2 -2
  14. package/dist/lexicons/com/atiproto/feed/subscription/create.defs.d.ts +32 -16
  15. package/dist/lexicons/com/atiproto/feed/subscription/get.defs.d.ts +2 -2
  16. package/dist/lexicons/com/atiproto/feed/subscription/list.defs.d.ts +7 -3
  17. package/dist/lexicons/com/atiproto/feed/tip/create.defs.d.ts +18 -14
  18. package/dist/lexicons/com/atiproto/feed/tip/get.defs.d.ts +2 -2
  19. package/dist/lexicons/com/atiproto/feed/tip/list.defs.d.ts +8 -4
  20. package/dist/lexicons/com/atiproto/profile.defs.d.ts +28 -0
  21. package/dist/lexicons/com/atiproto/repo/profile/get.defs.d.ts +2 -2
  22. package/dist/lexicons/com/atiproto/repo/subscription/search.defs.d.ts +13 -5
  23. package/dist/lexicons/com/atiproto/repo/subscription/validate.defs.d.ts +12 -4
  24. package/dist/lexicons/com/atiproto/repo/tip/search.defs.d.ts +13 -5
  25. package/dist/lexicons/com/atiproto/repo/tip/validate.defs.d.ts +12 -4
  26. package/dist/lexicons/com/atiproto/subscription.defs.d.ts +68 -24
  27. package/dist/lexicons/com/atiproto/tip.defs.d.ts +41 -1
  28. 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";
@@ -112,9 +113,9 @@ var main = import_lex.l.record(
112
113
  $nsid,
113
114
  import_lex.l.object({
114
115
  items: import_lex.l.array(import_lex.l.ref((() => cartItem))),
115
- currency: import_lex.l.string(),
116
+ currency: import_lex.l.string({ maxLength: 3 }),
116
117
  total: import_lex.l.integer(),
117
- status: import_lex.l.string(),
118
+ status: import_lex.l.enum(["open", "completed", "expired", "abandoned"]),
118
119
  createdAt: import_lex.l.string({ format: "datetime" }),
119
120
  expiresAt: import_lex.l.string({ format: "datetime" }),
120
121
  completedAt: import_lex.l.optional(import_lex.l.string({ format: "datetime" }))
@@ -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";
@@ -168,7 +183,7 @@ var main2 = import_lex2.l.record(
168
183
  subject: import_lex2.l.string({ format: "did" }),
169
184
  recordUri: import_lex2.l.optional(import_lex2.l.string({ format: "at-uri" })),
170
185
  amount: import_lex2.l.integer({ minimum: 0 }),
171
- currency: import_lex2.l.string(),
186
+ currency: import_lex2.l.string({ maxLength: 3 }),
172
187
  status: import_lex2.l.enum([
173
188
  "pending",
174
189
  "authorized",
@@ -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";
@@ -220,9 +256,9 @@ var main3 = import_lex3.l.record(
220
256
  import_lex3.l.object({
221
257
  subject: import_lex3.l.string({ format: "did" }),
222
258
  amount: import_lex3.l.integer({ minimum: 0 }),
223
- currency: import_lex3.l.string(),
224
- interval: import_lex3.l.string(),
225
- status: import_lex3.l.string(),
259
+ currency: import_lex3.l.string({ maxLength: 3 }),
260
+ interval: import_lex3.l.enum(["monthly", "yearly"]),
261
+ status: import_lex3.l.enum(["pending", "active", "past_due", "cancelled", "expired"]),
226
262
  billingStartDate: import_lex3.l.string({ format: "datetime" }),
227
263
  cancelledAt: import_lex3.l.optional(import_lex3.l.string({ format: "datetime" })),
228
264
  accessUntil: import_lex3.l.optional(import_lex3.l.string({ format: "datetime" })),
@@ -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
  })
@@ -296,11 +347,11 @@ var main5 = import_lex5.l.procedure(
296
347
  $nsid5,
297
348
  import_lex5.l.params(),
298
349
  import_lex5.l.jsonPayload({
299
- currency: import_lex5.l.string(),
350
+ currency: import_lex5.l.string({ maxLength: 3 }),
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
  })
@@ -381,7 +432,7 @@ var main7 = import_lex7.l.query(
381
432
  import_lex7.l.params(),
382
433
  import_lex7.l.jsonPayload({
383
434
  carts: import_lex7.l.array(import_lex7.l.ref((() => cartResponse))),
384
- cursor: import_lex7.l.optional(import_lex7.l.string())
435
+ cursor: import_lex7.l.optional(import_lex7.l.string({ maxLength: 512 }))
385
436
  })
386
437
  );
387
438
  var $lxm4 = main7.nsid;
@@ -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
  })
@@ -601,7 +664,7 @@ var main12 = import_lex12.l.permissionSet(
601
664
  ]
602
665
  }),
603
666
  import_lex12.l.permission("rpc", {
604
- aud: "did:web:atiproto.com#payments",
667
+ inheritAud: true,
605
668
  lxm: [
606
669
  "com.atiproto.account.cart.clone",
607
670
  "com.atiproto.account.cart.create",
@@ -661,7 +724,7 @@ var main13 = import_lex13.l.permissionSet(
661
724
  ]
662
725
  }),
663
726
  import_lex13.l.permission("rpc", {
664
- aud: "did:web:atiproto.com#payments",
727
+ inheritAud: true,
665
728
  lxm: [
666
729
  "com.atiproto.account.cart.clone",
667
730
  "com.atiproto.account.cart.create",
@@ -688,7 +751,7 @@ var main13 = import_lex13.l.permissionSet(
688
751
  ],
689
752
  {
690
753
  title: "General Access",
691
- detail: "Write access to cart, subscription, and tip records, plus RPC access to all non-profile endpoints."
754
+ detail: "Write access to cart, subscription, and tip records, plus RPC access to payment, feed, and public profile lookup endpoints."
692
755
  }
693
756
  );
694
757
 
@@ -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
@@ -758,7 +822,7 @@ var main14 = import_lex14.l.query(
758
822
  false
759
823
  )
760
824
  ),
761
- cursor: import_lex14.l.optional(import_lex14.l.string())
825
+ cursor: import_lex14.l.optional(import_lex14.l.string({ maxLength: 512 }))
762
826
  })
763
827
  );
764
828
  var $lxm8 = main14.nsid;
@@ -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
  })
@@ -846,17 +910,21 @@ var main16 = import_lex16.l.procedure(
846
910
  import_lex16.l.jsonPayload({
847
911
  subject: import_lex16.l.string({ format: "did" }),
848
912
  amount: import_lex16.l.optional(import_lex16.l.integer()),
849
- currency: import_lex16.l.string(),
850
- interval: import_lex16.l.string()
913
+ currency: import_lex16.l.string({ maxLength: 3 }),
914
+ interval: import_lex16.l.enum(["monthly", "yearly"]),
915
+ cartUri: import_lex16.l.optional(import_lex16.l.string({ format: "at-uri" })),
916
+ redirectUrl: import_lex16.l.optional(import_lex16.l.string({ format: "uri" }))
851
917
  }),
852
918
  import_lex16.l.jsonPayload({
853
919
  subscriptionUri: import_lex16.l.string({ format: "at-uri" }),
854
920
  subscription: import_lex16.l.ref(
855
- (() => main3)
921
+ (() => view3)
922
+ ),
923
+ cartUri: import_lex16.l.optional(import_lex16.l.string({ format: "at-uri" })),
924
+ cart: import_lex16.l.optional(
925
+ import_lex16.l.ref((() => view))
856
926
  ),
857
- cartUri: import_lex16.l.string({ format: "at-uri" }),
858
- cart: import_lex16.l.ref((() => main)),
859
- checkoutUrl: import_lex16.l.string({ format: "uri" })
927
+ checkoutUrl: import_lex16.l.optional(import_lex16.l.string({ format: "uri" }))
860
928
  })
861
929
  );
862
930
  var $lxm10 = main16.nsid;
@@ -893,7 +961,7 @@ var main17 = import_lex17.l.query(
893
961
  uri: import_lex17.l.string({ format: "at-uri" }),
894
962
  cid: import_lex17.l.string({ format: "cid" }),
895
963
  record: import_lex17.l.ref(
896
- (() => main3)
964
+ (() => view3)
897
965
  )
898
966
  })
899
967
  );
@@ -932,7 +1000,7 @@ var main18 = import_lex18.l.query(
932
1000
  subscriptions: import_lex18.l.array(
933
1001
  import_lex18.l.ref((() => subscriptionResponse))
934
1002
  ),
935
- cursor: import_lex18.l.optional(import_lex18.l.string())
1003
+ cursor: import_lex18.l.optional(import_lex18.l.string({ maxLength: 512 }))
936
1004
  })
937
1005
  );
938
1006
  var $lxm12 = main18.nsid;
@@ -944,7 +1012,7 @@ var subscriptionResponse = import_lex18.l.typedObject(
944
1012
  import_lex18.l.object({
945
1013
  uri: import_lex18.l.string({ format: "at-uri" }),
946
1014
  record: import_lex18.l.ref(
947
- (() => main3)
1015
+ (() => view3)
948
1016
  )
949
1017
  })
950
1018
  );
@@ -1032,17 +1100,19 @@ var main20 = import_lex20.l.procedure(
1032
1100
  subject: import_lex20.l.string({ format: "did" }),
1033
1101
  recordUri: import_lex20.l.optional(import_lex20.l.string({ format: "at-uri" })),
1034
1102
  amount: import_lex20.l.integer(),
1035
- currency: import_lex20.l.string(),
1103
+ currency: import_lex20.l.string({ maxLength: 3 }),
1036
1104
  cartUri: import_lex20.l.optional(import_lex20.l.string({ format: "at-uri" })),
1037
1105
  redirectUrl: import_lex20.l.optional(import_lex20.l.string({ format: "uri" })),
1038
1106
  message: import_lex20.l.optional(import_lex20.l.string({ maxGraphemes: 500, maxLength: 5e3 }))
1039
1107
  }),
1040
1108
  import_lex20.l.jsonPayload({
1041
1109
  tipUri: import_lex20.l.string({ format: "at-uri" }),
1042
- tip: import_lex20.l.ref((() => main2)),
1043
- cartUri: import_lex20.l.string({ format: "at-uri" }),
1044
- cart: import_lex20.l.ref((() => main)),
1045
- checkoutUrl: import_lex20.l.string({ format: "uri" })
1110
+ tip: import_lex20.l.ref((() => view2)),
1111
+ cartUri: import_lex20.l.optional(import_lex20.l.string({ format: "at-uri" })),
1112
+ cart: import_lex20.l.optional(
1113
+ import_lex20.l.ref((() => view))
1114
+ ),
1115
+ checkoutUrl: import_lex20.l.optional(import_lex20.l.string({ format: "uri" }))
1046
1116
  })
1047
1117
  );
1048
1118
  var $lxm14 = main20.nsid;
@@ -1078,7 +1148,7 @@ var main21 = import_lex21.l.query(
1078
1148
  import_lex21.l.jsonPayload({
1079
1149
  uri: import_lex21.l.string({ format: "at-uri" }),
1080
1150
  cid: import_lex21.l.string({ format: "cid" }),
1081
- value: import_lex21.l.ref((() => main2))
1151
+ value: import_lex21.l.ref((() => view2))
1082
1152
  })
1083
1153
  );
1084
1154
  var $lxm15 = main21.nsid;
@@ -1111,8 +1181,8 @@ var main22 = import_lex22.l.query(
1111
1181
  $nsid22,
1112
1182
  import_lex22.l.params(),
1113
1183
  import_lex22.l.jsonPayload({
1114
- records: import_lex22.l.array(import_lex22.l.ref((() => main2))),
1115
- cursor: import_lex22.l.optional(import_lex22.l.string())
1184
+ records: import_lex22.l.array(import_lex22.l.ref((() => view2))),
1185
+ cursor: import_lex22.l.optional(import_lex22.l.string({ maxLength: 512 }))
1116
1186
  })
1117
1187
  );
1118
1188
  var $lxm16 = main22.nsid;
@@ -1177,7 +1247,8 @@ __export(profile_exports2, {
1177
1247
  $safeValidate: () => $safeValidate4,
1178
1248
  $type: () => $type4,
1179
1249
  $validate: () => $validate4,
1180
- main: () => main9
1250
+ main: () => main9,
1251
+ view: () => view4
1181
1252
  });
1182
1253
 
1183
1254
  // src/lexicons/com/atiproto/repo.ts
@@ -1221,7 +1292,7 @@ var main24 = import_lex24.l.query(
1221
1292
  import_lex24.l.params({ did: import_lex24.l.string({ format: "did" }) }),
1222
1293
  import_lex24.l.jsonPayload({
1223
1294
  did: import_lex24.l.string({ format: "did" }),
1224
- profile: import_lex24.l.ref((() => main9))
1295
+ profile: import_lex24.l.ref((() => view4))
1225
1296
  })
1226
1297
  );
1227
1298
  var $lxm18 = main24.nsid;
@@ -1263,7 +1334,7 @@ var main25 = import_lex25.l.query(
1263
1334
  $nsid25,
1264
1335
  import_lex25.l.params({
1265
1336
  subject: import_lex25.l.string({ format: "did" }),
1266
- cursor: import_lex25.l.optional(import_lex25.l.string()),
1337
+ cursor: import_lex25.l.optional(import_lex25.l.string({ maxLength: 512 })),
1267
1338
  limit: import_lex25.l.optional(
1268
1339
  import_lex25.l.withDefault(import_lex25.l.integer({ minimum: 1, maximum: 100 }), 50)
1269
1340
  )
@@ -1272,7 +1343,7 @@ var main25 = import_lex25.l.query(
1272
1343
  subscriptions: import_lex25.l.array(
1273
1344
  import_lex25.l.ref((() => subscriptionResponse2))
1274
1345
  ),
1275
- cursor: import_lex25.l.optional(import_lex25.l.string())
1346
+ cursor: import_lex25.l.optional(import_lex25.l.string({ maxLength: 512 }))
1276
1347
  })
1277
1348
  );
1278
1349
  var $lxm19 = main25.nsid;
@@ -1284,7 +1355,7 @@ var subscriptionResponse2 = import_lex25.l.typedObject(
1284
1355
  import_lex25.l.object({
1285
1356
  uri: import_lex25.l.string({ format: "at-uri" }),
1286
1357
  record: import_lex25.l.ref(
1287
- (() => main3)
1358
+ (() => view3)
1288
1359
  )
1289
1360
  })
1290
1361
  );
@@ -1322,8 +1393,8 @@ var main26 = import_lex26.l.query(
1322
1393
  import_lex26.l.jsonPayload({
1323
1394
  valid: import_lex26.l.boolean(),
1324
1395
  amount: import_lex26.l.optional(import_lex26.l.integer()),
1325
- currency: import_lex26.l.optional(import_lex26.l.string()),
1326
- reason: import_lex26.l.optional(import_lex26.l.string())
1396
+ currency: import_lex26.l.optional(import_lex26.l.string({ maxLength: 3 })),
1397
+ reason: import_lex26.l.optional(import_lex26.l.string({ maxLength: 1024 }))
1327
1398
  })
1328
1399
  );
1329
1400
  var $lxm20 = main26.nsid;
@@ -1365,14 +1436,14 @@ var main27 = import_lex27.l.query(
1365
1436
  $nsid27,
1366
1437
  import_lex27.l.params({
1367
1438
  subject: import_lex27.l.string({ format: "did" }),
1368
- cursor: import_lex27.l.optional(import_lex27.l.string()),
1439
+ cursor: import_lex27.l.optional(import_lex27.l.string({ maxLength: 512 })),
1369
1440
  limit: import_lex27.l.optional(
1370
1441
  import_lex27.l.withDefault(import_lex27.l.integer({ minimum: 1, maximum: 100 }), 50)
1371
1442
  )
1372
1443
  }),
1373
1444
  import_lex27.l.jsonPayload({
1374
1445
  tips: import_lex27.l.array(import_lex27.l.ref((() => tipResponse))),
1375
- cursor: import_lex27.l.optional(import_lex27.l.string())
1446
+ cursor: import_lex27.l.optional(import_lex27.l.string({ maxLength: 512 }))
1376
1447
  })
1377
1448
  );
1378
1449
  var $lxm21 = main27.nsid;
@@ -1383,7 +1454,7 @@ var tipResponse = import_lex27.l.typedObject(
1383
1454
  "tipResponse",
1384
1455
  import_lex27.l.object({
1385
1456
  uri: import_lex27.l.string({ format: "at-uri" }),
1386
- record: import_lex27.l.ref((() => main2))
1457
+ record: import_lex27.l.ref((() => view2))
1387
1458
  })
1388
1459
  );
1389
1460
 
@@ -1421,8 +1492,8 @@ var main28 = import_lex28.l.query(
1421
1492
  import_lex28.l.jsonPayload({
1422
1493
  valid: import_lex28.l.boolean(),
1423
1494
  amount: import_lex28.l.optional(import_lex28.l.integer()),
1424
- currency: import_lex28.l.optional(import_lex28.l.string()),
1425
- reason: import_lex28.l.optional(import_lex28.l.string())
1495
+ currency: import_lex28.l.optional(import_lex28.l.string({ maxLength: 3 })),
1496
+ reason: import_lex28.l.optional(import_lex28.l.string({ maxLength: 1024 }))
1426
1497
  })
1427
1498
  );
1428
1499
  var $lxm22 = main28.nsid;
@@ -1446,7 +1517,8 @@ __export(subscription_exports3, {
1446
1517
  $safeValidate: () => $safeValidate3,
1447
1518
  $type: () => $type3,
1448
1519
  $validate: () => $validate3,
1449
- main: () => main3
1520
+ main: () => main3,
1521
+ view: () => view3
1450
1522
  });
1451
1523
 
1452
1524
  // src/lexicons/com/atiproto/tip.ts
@@ -1466,7 +1538,8 @@ __export(tip_exports3, {
1466
1538
  $safeValidate: () => $safeValidate2,
1467
1539
  $type: () => $type2,
1468
1540
  $validate: () => $validate2,
1469
- main: () => main2
1541
+ main: () => main2,
1542
+ view: () => view2
1470
1543
  });
1471
1544
 
1472
1545
  // src/schemas/account/cart/clone.json
@@ -1510,7 +1583,7 @@ var clone_default = {
1510
1583
  properties: {
1511
1584
  cart: {
1512
1585
  type: "ref",
1513
- ref: "com.atiproto.cart",
1586
+ ref: "com.atiproto.cart#view",
1514
1587
  description: "The new cart record"
1515
1588
  },
1516
1589
  cartUri: {
@@ -1527,7 +1600,7 @@ var clone_default = {
1527
1600
  type: "array",
1528
1601
  items: {
1529
1602
  type: "ref",
1530
- ref: "com.atiproto.tip"
1603
+ ref: "com.atiproto.tip#view"
1531
1604
  },
1532
1605
  description: "Newly created tip records"
1533
1606
  },
@@ -1535,7 +1608,7 @@ var clone_default = {
1535
1608
  type: "array",
1536
1609
  items: {
1537
1610
  type: "ref",
1538
- ref: "com.atiproto.subscription"
1611
+ ref: "com.atiproto.subscription#view"
1539
1612
  },
1540
1613
  description: "Newly created subscription records"
1541
1614
  }
@@ -1562,6 +1635,7 @@ var create_default = {
1562
1635
  properties: {
1563
1636
  currency: {
1564
1637
  type: "string",
1638
+ maxLength: 3,
1565
1639
  description: "ISO 4217 currency code"
1566
1640
  },
1567
1641
  redirectUrl: {
@@ -1580,7 +1654,7 @@ var create_default = {
1580
1654
  properties: {
1581
1655
  cart: {
1582
1656
  type: "ref",
1583
- ref: "com.atiproto.cart",
1657
+ ref: "com.atiproto.cart#view",
1584
1658
  description: "The created cart record"
1585
1659
  },
1586
1660
  cartUri: {
@@ -1637,7 +1711,7 @@ var get_default = {
1637
1711
  },
1638
1712
  cart: {
1639
1713
  type: "ref",
1640
- ref: "com.atiproto.cart",
1714
+ ref: "com.atiproto.cart#view",
1641
1715
  description: "The cart record data"
1642
1716
  },
1643
1717
  checkoutUrl: {
@@ -1649,7 +1723,7 @@ var get_default = {
1649
1723
  type: "array",
1650
1724
  items: {
1651
1725
  type: "ref",
1652
- ref: "com.atiproto.tip"
1726
+ ref: "com.atiproto.tip#view"
1653
1727
  },
1654
1728
  description: "Resolved tip records referenced by this cart"
1655
1729
  },
@@ -1657,7 +1731,7 @@ var get_default = {
1657
1731
  type: "array",
1658
1732
  items: {
1659
1733
  type: "ref",
1660
- ref: "com.atiproto.subscription"
1734
+ ref: "com.atiproto.subscription#view"
1661
1735
  },
1662
1736
  description: "Resolved subscription records referenced by this cart"
1663
1737
  }
@@ -1683,10 +1757,13 @@ var list_default = {
1683
1757
  properties: {
1684
1758
  status: {
1685
1759
  type: "string",
1686
- description: "Filter: open, completed, expired, abandoned"
1760
+ maxLength: 64,
1761
+ enum: ["open", "completed", "expired", "abandoned"],
1762
+ description: "Filter by cart status"
1687
1763
  },
1688
1764
  cursor: {
1689
1765
  type: "string",
1766
+ maxLength: 512,
1690
1767
  description: "Pagination cursor"
1691
1768
  },
1692
1769
  limit: {
@@ -1713,6 +1790,7 @@ var list_default = {
1713
1790
  },
1714
1791
  cursor: {
1715
1792
  type: "string",
1793
+ maxLength: 512,
1716
1794
  description: "Pagination cursor for next page"
1717
1795
  }
1718
1796
  },
@@ -1736,7 +1814,7 @@ var list_default = {
1736
1814
  },
1737
1815
  record: {
1738
1816
  type: "ref",
1739
- ref: "com.atiproto.cart"
1817
+ ref: "com.atiproto.cart#view"
1740
1818
  }
1741
1819
  }
1742
1820
  }
@@ -1818,7 +1896,7 @@ var get_default2 = {
1818
1896
  },
1819
1897
  profile: {
1820
1898
  type: "ref",
1821
- ref: "com.atiproto.profile",
1899
+ ref: "com.atiproto.profile#view",
1822
1900
  description: "The profile record data (defaults if not configured)"
1823
1901
  },
1824
1902
  hasProfile: {
@@ -1888,7 +1966,7 @@ var put_default2 = {
1888
1966
  },
1889
1967
  profile: {
1890
1968
  type: "ref",
1891
- ref: "com.atiproto.profile",
1969
+ ref: "com.atiproto.profile#view",
1892
1970
  description: "The profile record data"
1893
1971
  },
1894
1972
  hasProfile: {
@@ -1935,6 +2013,7 @@ var cart_default = {
1935
2013
  },
1936
2014
  currency: {
1937
2015
  type: "string",
2016
+ maxLength: 3,
1938
2017
  description: "ISO 4217 currency code"
1939
2018
  },
1940
2019
  total: {
@@ -1943,7 +2022,9 @@ var cart_default = {
1943
2022
  },
1944
2023
  status: {
1945
2024
  type: "string",
1946
- description: "Cart status: open, completed, expired, abandoned"
2025
+ maxLength: 64,
2026
+ enum: ["open", "completed", "expired", "abandoned"],
2027
+ description: "Cart status"
1947
2028
  },
1948
2029
  createdAt: {
1949
2030
  type: "string",
@@ -1963,12 +2044,64 @@ var cart_default = {
1963
2044
  }
1964
2045
  }
1965
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
+ },
1966
2098
  cartItem: {
1967
2099
  type: "object",
1968
2100
  required: ["type", "recordUri"],
1969
2101
  properties: {
1970
2102
  type: {
1971
2103
  type: "string",
2104
+ maxLength: 128,
1972
2105
  description: "Item type: tip or subscription",
1973
2106
  enum: ["com.atiproto.tip", "com.atiproto.subscription"]
1974
2107
  },
@@ -1997,6 +2130,7 @@ var list_default2 = {
1997
2130
  properties: {
1998
2131
  cursor: {
1999
2132
  type: "string",
2133
+ maxLength: 512,
2000
2134
  description: "Pagination cursor"
2001
2135
  },
2002
2136
  limit: {
@@ -2024,6 +2158,7 @@ var list_default2 = {
2024
2158
  },
2025
2159
  cursor: {
2026
2160
  type: "string",
2161
+ maxLength: 512,
2027
2162
  description: "Pagination cursor for next page"
2028
2163
  }
2029
2164
  }
@@ -2068,7 +2203,7 @@ var cancel_default = {
2068
2203
  },
2069
2204
  subscription: {
2070
2205
  type: "ref",
2071
- ref: "com.atiproto.subscription",
2206
+ ref: "com.atiproto.subscription#view",
2072
2207
  description: "Updated subscription record"
2073
2208
  },
2074
2209
  accessUntil: {
@@ -2103,10 +2238,23 @@ var create_default2 = {
2103
2238
  },
2104
2239
  currency: {
2105
2240
  description: "ISO 4217 currency code",
2241
+ maxLength: 3,
2106
2242
  type: "string"
2107
2243
  },
2108
2244
  interval: {
2109
- description: "Billing interval: monthly or yearly",
2245
+ description: "Billing interval",
2246
+ maxLength: 64,
2247
+ enum: ["monthly", "yearly"],
2248
+ type: "string"
2249
+ },
2250
+ cartUri: {
2251
+ description: "AT-URI of an existing cart to add this subscription to. If omitted, a new cart is created.",
2252
+ format: "at-uri",
2253
+ type: "string"
2254
+ },
2255
+ redirectUrl: {
2256
+ description: "URL to redirect to after checkout completes",
2257
+ format: "uri",
2110
2258
  type: "string"
2111
2259
  }
2112
2260
  },
@@ -2126,7 +2274,7 @@ var create_default2 = {
2126
2274
  subscription: {
2127
2275
  description: "The created subscription record (status: pending)",
2128
2276
  type: "ref",
2129
- ref: "com.atiproto.subscription"
2277
+ ref: "com.atiproto.subscription#view"
2130
2278
  },
2131
2279
  cartUri: {
2132
2280
  description: "URI of the cart record in PDS",
@@ -2136,7 +2284,7 @@ var create_default2 = {
2136
2284
  cart: {
2137
2285
  description: "The created cart record (status: open)",
2138
2286
  type: "ref",
2139
- ref: "com.atiproto.cart"
2287
+ ref: "com.atiproto.cart#view"
2140
2288
  },
2141
2289
  checkoutUrl: {
2142
2290
  description: "Checkout URL hosted by atiproto",
@@ -2144,13 +2292,7 @@ var create_default2 = {
2144
2292
  type: "string"
2145
2293
  }
2146
2294
  },
2147
- required: [
2148
- "subscriptionUri",
2149
- "subscription",
2150
- "cartUri",
2151
- "cart",
2152
- "checkoutUrl"
2153
- ],
2295
+ required: ["subscriptionUri", "subscription"],
2154
2296
  type: "object"
2155
2297
  }
2156
2298
  },
@@ -2194,7 +2336,7 @@ var get_default3 = {
2194
2336
  record: {
2195
2337
  description: "The subscription record data",
2196
2338
  type: "ref",
2197
- ref: "com.atiproto.subscription"
2339
+ ref: "com.atiproto.subscription#view"
2198
2340
  }
2199
2341
  },
2200
2342
  required: ["uri", "cid", "record"],
@@ -2223,6 +2365,7 @@ var list_default3 = {
2223
2365
  properties: {
2224
2366
  cursor: {
2225
2367
  type: "string",
2368
+ maxLength: 512,
2226
2369
  description: "Pagination cursor"
2227
2370
  },
2228
2371
  limit: {
@@ -2250,6 +2393,7 @@ var list_default3 = {
2250
2393
  },
2251
2394
  cursor: {
2252
2395
  type: "string",
2396
+ maxLength: 512,
2253
2397
  description: "Pagination cursor for next page"
2254
2398
  }
2255
2399
  }
@@ -2267,7 +2411,7 @@ var list_default3 = {
2267
2411
  },
2268
2412
  record: {
2269
2413
  type: "ref",
2270
- ref: "com.atiproto.subscription"
2414
+ ref: "com.atiproto.subscription#view"
2271
2415
  }
2272
2416
  }
2273
2417
  }
@@ -2353,6 +2497,7 @@ var create_default3 = {
2353
2497
  },
2354
2498
  currency: {
2355
2499
  type: "string",
2500
+ maxLength: 3,
2356
2501
  description: "ISO 4217 currency code"
2357
2502
  },
2358
2503
  cartUri: {
@@ -2378,7 +2523,7 @@ var create_default3 = {
2378
2523
  encoding: "application/json",
2379
2524
  schema: {
2380
2525
  type: "object",
2381
- required: ["tipUri", "tip", "cartUri", "cart", "checkoutUrl"],
2526
+ required: ["tipUri", "tip"],
2382
2527
  properties: {
2383
2528
  tipUri: {
2384
2529
  type: "string",
@@ -2387,7 +2532,7 @@ var create_default3 = {
2387
2532
  },
2388
2533
  tip: {
2389
2534
  type: "ref",
2390
- ref: "com.atiproto.tip",
2535
+ ref: "com.atiproto.tip#view",
2391
2536
  description: "The created tip record (status: pending)"
2392
2537
  },
2393
2538
  cartUri: {
@@ -2397,7 +2542,7 @@ var create_default3 = {
2397
2542
  },
2398
2543
  cart: {
2399
2544
  type: "ref",
2400
- ref: "com.atiproto.cart",
2545
+ ref: "com.atiproto.cart#view",
2401
2546
  description: "The cart record (new or updated)"
2402
2547
  },
2403
2548
  checkoutUrl: {
@@ -2445,7 +2590,7 @@ var get_default4 = {
2445
2590
  value: {
2446
2591
  description: "The tip record data",
2447
2592
  type: "ref",
2448
- ref: "com.atiproto.tip"
2593
+ ref: "com.atiproto.tip#view"
2449
2594
  }
2450
2595
  },
2451
2596
  required: ["uri", "cid", "value"],
@@ -2474,6 +2619,7 @@ var list_default4 = {
2474
2619
  properties: {
2475
2620
  cursor: {
2476
2621
  type: "string",
2622
+ maxLength: 512,
2477
2623
  description: "Pagination cursor"
2478
2624
  },
2479
2625
  limit: {
@@ -2496,11 +2642,12 @@ var list_default4 = {
2496
2642
  type: "array",
2497
2643
  items: {
2498
2644
  type: "ref",
2499
- ref: "com.atiproto.tip"
2645
+ ref: "com.atiproto.tip#view"
2500
2646
  }
2501
2647
  },
2502
2648
  cursor: {
2503
2649
  type: "string",
2650
+ maxLength: 512,
2504
2651
  description: "Pagination cursor for next page"
2505
2652
  }
2506
2653
  }
@@ -2596,6 +2743,35 @@ var profile_default = {
2596
2743
  }
2597
2744
  }
2598
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
+ }
2599
2775
  }
2600
2776
  }
2601
2777
  };
@@ -2632,7 +2808,7 @@ var get_default5 = {
2632
2808
  },
2633
2809
  profile: {
2634
2810
  type: "ref",
2635
- ref: "com.atiproto.profile",
2811
+ ref: "com.atiproto.profile#view",
2636
2812
  description: "Public profile data"
2637
2813
  }
2638
2814
  }
@@ -2660,6 +2836,7 @@ var search_default = {
2660
2836
  },
2661
2837
  cursor: {
2662
2838
  type: "string",
2839
+ maxLength: 512,
2663
2840
  description: "Pagination cursor"
2664
2841
  },
2665
2842
  limit: {
@@ -2687,6 +2864,7 @@ var search_default = {
2687
2864
  },
2688
2865
  cursor: {
2689
2866
  type: "string",
2867
+ maxLength: 512,
2690
2868
  description: "Pagination cursor for next page"
2691
2869
  }
2692
2870
  }
@@ -2704,7 +2882,7 @@ var search_default = {
2704
2882
  },
2705
2883
  record: {
2706
2884
  type: "ref",
2707
- ref: "com.atiproto.subscription"
2885
+ ref: "com.atiproto.subscription#view"
2708
2886
  }
2709
2887
  }
2710
2888
  }
@@ -2760,10 +2938,12 @@ var validate_default = {
2760
2938
  },
2761
2939
  currency: {
2762
2940
  type: "string",
2941
+ maxLength: 3,
2763
2942
  description: "Currency of the subscription"
2764
2943
  },
2765
2944
  reason: {
2766
2945
  type: "string",
2946
+ maxLength: 1024,
2767
2947
  description: "If invalid, reason for rejection"
2768
2948
  }
2769
2949
  }
@@ -2791,6 +2971,7 @@ var search_default2 = {
2791
2971
  },
2792
2972
  cursor: {
2793
2973
  type: "string",
2974
+ maxLength: 512,
2794
2975
  description: "Pagination cursor"
2795
2976
  },
2796
2977
  limit: {
@@ -2818,6 +2999,7 @@ var search_default2 = {
2818
2999
  },
2819
3000
  cursor: {
2820
3001
  type: "string",
3002
+ maxLength: 512,
2821
3003
  description: "Pagination cursor for next page"
2822
3004
  }
2823
3005
  }
@@ -2835,7 +3017,7 @@ var search_default2 = {
2835
3017
  },
2836
3018
  record: {
2837
3019
  type: "ref",
2838
- ref: "com.atiproto.tip"
3020
+ ref: "com.atiproto.tip#view"
2839
3021
  }
2840
3022
  }
2841
3023
  }
@@ -2896,10 +3078,12 @@ var validate_default2 = {
2896
3078
  },
2897
3079
  currency: {
2898
3080
  type: "string",
3081
+ maxLength: 3,
2899
3082
  description: "Currency of the tips"
2900
3083
  },
2901
3084
  reason: {
2902
3085
  type: "string",
3086
+ maxLength: 1024,
2903
3087
  description: "If invalid, reason for rejection"
2904
3088
  }
2905
3089
  }
@@ -2932,7 +3116,7 @@ var authEnhanced_default = {
2932
3116
  {
2933
3117
  type: "permission",
2934
3118
  resource: "rpc",
2935
- aud: "did:web:atiproto.com#payments",
3119
+ inheritAud: true,
2936
3120
  lxm: [
2937
3121
  "com.atiproto.account.cart.clone",
2938
3122
  "com.atiproto.account.cart.create",
@@ -2971,7 +3155,7 @@ var authGeneral_default = {
2971
3155
  main: {
2972
3156
  type: "permission-set",
2973
3157
  title: "General Access",
2974
- detail: "Write access to cart, subscription, and tip records, plus RPC access to all non-profile endpoints.",
3158
+ detail: "Write access to cart, subscription, and tip records, plus RPC access to payment, feed, and public profile lookup endpoints.",
2975
3159
  permissions: [
2976
3160
  {
2977
3161
  type: "permission",
@@ -2985,7 +3169,7 @@ var authGeneral_default = {
2985
3169
  {
2986
3170
  type: "permission",
2987
3171
  resource: "rpc",
2988
- aud: "did:web:atiproto.com#payments",
3172
+ inheritAud: true,
2989
3173
  lxm: [
2990
3174
  "com.atiproto.account.cart.clone",
2991
3175
  "com.atiproto.account.cart.create",
@@ -3034,14 +3218,19 @@ var subscription_default = {
3034
3218
  },
3035
3219
  currency: {
3036
3220
  description: "ISO 4217 currency code",
3221
+ maxLength: 3,
3037
3222
  type: "string"
3038
3223
  },
3039
3224
  interval: {
3040
- description: "Billing interval: monthly or yearly",
3225
+ description: "Billing interval",
3226
+ maxLength: 64,
3227
+ enum: ["monthly", "yearly"],
3041
3228
  type: "string"
3042
3229
  },
3043
3230
  status: {
3044
- description: "Subscription status: pending, active, past_due, cancelled, expired",
3231
+ description: "Subscription status",
3232
+ maxLength: 64,
3233
+ enum: ["pending", "active", "past_due", "cancelled", "expired"],
3045
3234
  type: "string"
3046
3235
  },
3047
3236
  billingStartDate: {
@@ -3077,6 +3266,68 @@ var subscription_default = {
3077
3266
  type: "object"
3078
3267
  },
3079
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
+ }
3080
3331
  }
3081
3332
  },
3082
3333
  id: "com.atiproto.subscription",
@@ -3108,10 +3359,12 @@ var tip_default = {
3108
3359
  },
3109
3360
  currency: {
3110
3361
  description: "ISO 4217 currency code",
3362
+ maxLength: 3,
3111
3363
  type: "string"
3112
3364
  },
3113
3365
  status: {
3114
- description: "Tip status: pending, authorized (payment held), completed, failed, refunded",
3366
+ description: "Tip status",
3367
+ maxLength: 64,
3115
3368
  type: "string",
3116
3369
  enum: ["pending", "authorized", "completed", "failed", "refunded"]
3117
3370
  },
@@ -3136,6 +3389,55 @@ var tip_default = {
3136
3389
  type: "object"
3137
3390
  },
3138
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
+ }
3139
3441
  }
3140
3442
  },
3141
3443
  id: "com.atiproto.tip",