@colibri-social/lexicons 2.28.0 → 2.30.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 (96) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/blob.d.ts +2 -0
  3. package/dist/blob.d.ts.map +1 -1
  4. package/dist/blob.js +24 -2
  5. package/dist/blob.js.map +1 -1
  6. package/dist/generated/com/atproto/simplespace/deleteSpace.defs.d.ts +1 -1
  7. package/dist/generated/com/atproto/simplespace/deleteSpace.defs.d.ts.map +1 -1
  8. package/dist/generated/com/atproto/simplespace/deleteSpace.defs.js +1 -1
  9. package/dist/generated/com/atproto/simplespace/deleteSpace.defs.js.map +1 -1
  10. package/dist/generated/com/atproto/space/defs.defs.d.ts +16 -20
  11. package/dist/generated/com/atproto/space/defs.defs.d.ts.map +1 -1
  12. package/dist/generated/com/atproto/space/defs.defs.js +3 -3
  13. package/dist/generated/com/atproto/space/defs.defs.js.map +1 -1
  14. package/dist/generated/com/atproto/space/getLatestCommit.defs.d.ts +4 -4
  15. package/dist/generated/com/atproto/space/getLatestCommit.defs.d.ts.map +1 -1
  16. package/dist/generated/com/atproto/space/getLatestCommit.defs.js +3 -3
  17. package/dist/generated/com/atproto/space/getLatestCommit.defs.js.map +1 -1
  18. package/dist/generated/com/atproto/space/getRecord.defs.d.ts +2 -2
  19. package/dist/generated/com/atproto/space/getRecord.defs.d.ts.map +1 -1
  20. package/dist/generated/com/atproto/space/getRecord.defs.js +2 -2
  21. package/dist/generated/com/atproto/space/getRecord.defs.js.map +1 -1
  22. package/dist/generated/com/atproto/space/getRepo.defs.d.ts +3 -5
  23. package/dist/generated/com/atproto/space/getRepo.defs.d.ts.map +1 -1
  24. package/dist/generated/com/atproto/space/getRepo.defs.js +4 -4
  25. package/dist/generated/com/atproto/space/getRepo.defs.js.map +1 -1
  26. package/dist/generated/com/atproto/space/getSpaceCredential.defs.d.ts +5 -1
  27. package/dist/generated/com/atproto/space/getSpaceCredential.defs.d.ts.map +1 -1
  28. package/dist/generated/com/atproto/space/getSpaceCredential.defs.js +2 -2
  29. package/dist/generated/com/atproto/space/getSpaceCredential.defs.js.map +1 -1
  30. package/dist/generated/com/atproto/space/listRepoOps.defs.d.ts +4 -4
  31. package/dist/generated/com/atproto/space/listRepoOps.defs.d.ts.map +1 -1
  32. package/dist/generated/com/atproto/space/listRepoOps.defs.js +3 -3
  33. package/dist/generated/com/atproto/space/listRepoOps.defs.js.map +1 -1
  34. package/dist/generated/com/atproto/space/listRepos.defs.d.ts +3 -3
  35. package/dist/generated/com/atproto/space/listRepos.defs.js +2 -2
  36. package/dist/generated/com/atproto/space/notifySpaceDeleted.defs.d.ts +1 -1
  37. package/dist/generated/com/atproto/space/notifySpaceDeleted.defs.d.ts.map +1 -1
  38. package/dist/generated/com/atproto/space/notifySpaceDeleted.defs.js +1 -1
  39. package/dist/generated/com/atproto/space/notifySpaceDeleted.defs.js.map +1 -1
  40. package/dist/generated/com/atproto/space/notifyWrite.defs.d.ts +2 -2
  41. package/dist/generated/com/atproto/space/notifyWrite.defs.js +1 -1
  42. package/dist/generated/social/colibri/beta/actor/clientPreferences.defs.d.ts +14 -0
  43. package/dist/generated/social/colibri/beta/actor/clientPreferences.defs.d.ts.map +1 -1
  44. package/dist/generated/social/colibri/beta/actor/clientPreferences.defs.js +1 -1
  45. package/dist/generated/social/colibri/beta/actor/clientPreferences.defs.js.map +1 -1
  46. package/dist/generated/social/colibri/beta/actor/defs.defs.d.ts +4 -0
  47. package/dist/generated/social/colibri/beta/actor/defs.defs.d.ts.map +1 -1
  48. package/dist/generated/social/colibri/beta/actor/defs.defs.js +1 -1
  49. package/dist/generated/social/colibri/beta/actor/defs.defs.js.map +1 -1
  50. package/dist/generated/social/colibri/beta/blob/get.defs.d.ts +2 -2
  51. package/dist/generated/social/colibri/beta/blob/get.defs.d.ts.map +1 -1
  52. package/dist/generated/social/colibri/beta/blob/get.defs.js.map +1 -1
  53. package/dist/generated/social/colibri/beta/community/defs.defs.d.ts +80 -0
  54. package/dist/generated/social/colibri/beta/community/defs.defs.d.ts.map +1 -1
  55. package/dist/generated/social/colibri/beta/community/defs.defs.js +11 -2
  56. package/dist/generated/social/colibri/beta/community/defs.defs.js.map +1 -1
  57. package/dist/generated/social/colibri/beta/community/listMigratable.defs.d.ts +1 -7
  58. package/dist/generated/social/colibri/beta/community/listMigratable.defs.d.ts.map +1 -1
  59. package/dist/generated/social/colibri/beta/community/listMigratable.defs.js +2 -2
  60. package/dist/generated/social/colibri/beta/community/listMigratable.defs.js.map +1 -1
  61. package/dist/generated/social/colibri/beta/community/migrate.defs.d.ts +4 -4
  62. package/dist/generated/social/colibri/beta/community/migrate.defs.d.ts.map +1 -1
  63. package/dist/generated/social/colibri/beta/community/migrate.defs.js +3 -3
  64. package/dist/generated/social/colibri/beta/community/migrate.defs.js.map +1 -1
  65. package/dist/generated/social/colibri/beta/sync/defs.defs.d.ts +3 -3
  66. package/dist/generated/social/colibri/beta/sync/defs.defs.d.ts.map +1 -1
  67. package/dist/generated/social/colibri/beta/sync/defs.defs.js +1 -1
  68. package/dist/generated/social/colibri/beta/sync/defs.defs.js.map +1 -1
  69. package/dist/generated/social/colibri/beta/thread/defs.defs.d.ts +4 -0
  70. package/dist/generated/social/colibri/beta/thread/defs.defs.d.ts.map +1 -1
  71. package/dist/generated/social/colibri/beta/thread/defs.defs.js +1 -1
  72. package/dist/generated/social/colibri/beta/thread/defs.defs.js.map +1 -1
  73. package/dist/nsids.d.ts +1 -2
  74. package/dist/nsids.d.ts.map +1 -1
  75. package/dist/nsids.js +1 -2
  76. package/dist/nsids.js.map +1 -1
  77. package/lexicons/com/atproto/PINNED_COMMIT +1 -1
  78. package/lexicons/com/atproto/simplespace/deleteSpace.json +1 -1
  79. package/lexicons/com/atproto/space/defs.json +17 -19
  80. package/lexicons/com/atproto/space/getLatestCommit.json +7 -3
  81. package/lexicons/com/atproto/space/getRecord.json +5 -1
  82. package/lexicons/com/atproto/space/getRepo.json +6 -7
  83. package/lexicons/com/atproto/space/getSpaceCredential.json +10 -2
  84. package/lexicons/com/atproto/space/listRepoOps.json +7 -3
  85. package/lexicons/com/atproto/space/listRepos.json +4 -4
  86. package/lexicons/com/atproto/space/notifySpaceDeleted.json +1 -1
  87. package/lexicons/com/atproto/space/notifyWrite.json +3 -3
  88. package/lexicons/social/colibri/beta/actor/clientPreferences.json +10 -0
  89. package/lexicons/social/colibri/beta/actor/defs.json +10 -0
  90. package/lexicons/social/colibri/beta/blob/get.json +1 -1
  91. package/lexicons/social/colibri/beta/community/defs.json +87 -0
  92. package/lexicons/social/colibri/beta/community/listMigratable.json +2 -11
  93. package/lexicons/social/colibri/beta/community/migrate.json +7 -3
  94. package/lexicons/social/colibri/beta/sync/defs.json +10 -1
  95. package/lexicons/social/colibri/beta/thread/defs.json +5 -0
  96. package/package.json +3 -3
@@ -4,18 +4,26 @@
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "procedure",
7
- "description": "Exchange a delegation token for a space credential. Called on the space authority, with the delegation token as the request's authorization token and an HTTP message signature over Authorization made by the key to bind the credential to. The resulting space credential reads repos across the space. Requires a delegation token and HTTP message signature, plus a client attestation when the space gates on app identity.",
7
+ "description": "Request a space credential. Called on the space authority. A delegation token is required when the space gates on the user. A client attestation is required when the space gates on app identity. A space that requires neither offers public access. The resulting space credential reads repos across the space.",
8
8
  "input": {
9
9
  "encoding": "application/json",
10
10
  "schema": {
11
11
  "type": "object",
12
- "required": ["space"],
12
+ "required": ["space", "credentialKid"],
13
13
  "properties": {
14
14
  "space": {
15
15
  "type": "string",
16
16
  "format": "space-ref",
17
17
  "description": "Reference to the space."
18
18
  },
19
+ "credentialKid": {
20
+ "type": "string",
21
+ "description": "P-256 did:key to bind the credential to. Each request using the credential is signed by this key."
22
+ },
23
+ "delegationToken": {
24
+ "type": "string",
25
+ "description": "Optional delegation token establishing the user being acted for. Required only when the space gates on the user."
26
+ },
19
27
  "clientAttestation": {
20
28
  "type": "string",
21
29
  "description": "Optional client attestation JWT establishing the app's identity. Required only when the space gates on app identity."
@@ -4,7 +4,7 @@
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "query",
7
- "description": "List the operation log for an account's permissioned repo within a space, returning operations after a given revision. Primary incremental sync mechanism. By default each created or updated operation inlines the record's current value; set excludeValues for metadata-only entries. Note the oplog is a transport optimization with no history guarantee: a host may compact it or drop it, and it does not survive account migration, so omitting `since` returns the retained window rather than the repo's full history. Use getRepo for an initial sync or when a `since` revision is no longer available. Callable with either OAuth (for the authenticated user's own data) or a space credential (for syncing services).",
7
+ "description": "List the operation log for an account's permissioned repo within a space, returning operations after a given revision. Primary incremental sync mechanism. By default each created or updated operation inlines the record's current value; set excludeValues for metadata-only entries. Note the oplog is a transport optimization with no history guarantee: a host may compact it or drop it, and it does not survive account migration, so omitting `since` returns the retained window rather than the repo's full history. Use getRepo for an initial sync or when a `since` revision is no longer available. Callable with either OAuth (for the authenticated user's own data) or a space credential (for syncing services). When called with a space credential, the caller must send an Atproto-Space-Want-Mac header, and a response that includes the commit carries its MAC in the Atproto-Space-Mac response header.",
8
8
  "parameters": {
9
9
  "type": "params",
10
10
  "required": ["space", "repo"],
@@ -57,8 +57,8 @@
57
57
  },
58
58
  "commit": {
59
59
  "type": "ref",
60
- "ref": "com.atproto.space.defs#signedCommit",
61
- "description": "The account's current signed commit. Included when the response reaches the head of the oplog; omitted on backfill responses."
60
+ "ref": "com.atproto.space.defs#commit",
61
+ "description": "The account's current commit. Included when the response reaches the head of the oplog; omitted on backfill responses."
62
62
  },
63
63
  "cursor": {
64
64
  "type": "string",
@@ -68,6 +68,10 @@
68
68
  }
69
69
  },
70
70
  "errors": [
71
+ {
72
+ "name": "BadSpaceMac",
73
+ "description": "The Atproto-Space-Want-Mac header is missing or malformed, names an unsupported type or version, or carries an invalid key share."
74
+ },
71
75
  { "name": "SpaceNotFound" },
72
76
  { "name": "RepoNotFound" },
73
77
  { "name": "RepoTakendown" },
@@ -4,7 +4,7 @@
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "query",
7
- "description": "List the known repos that hold data in a space (the writer set), with each repo's current repoRev and commit hash. Served by the space host. This is the sync boundary, not an access-control list: it enumerates only writers, never readers. The set is what the authority claims from write notifications and is not itself authoritative; a repo's host is the source of truth.",
7
+ "description": "List the known repos that hold data in a space (the writer set), with each repo's current repoRev and commit data. Served by the space host. This is the sync boundary, not an access-control list: it enumerates only writers, never readers. The set is what the authority claims from write notifications and is not itself authoritative; a repo's host is the source of truth.",
8
8
  "parameters": {
9
9
  "type": "params",
10
10
  "required": ["space"],
@@ -56,7 +56,7 @@
56
56
  },
57
57
  "repo": {
58
58
  "type": "object",
59
- "required": ["did", "repoRev", "hash", "spaceRev"],
59
+ "required": ["did", "repoRev", "data", "spaceRev"],
60
60
  "properties": {
61
61
  "did": {
62
62
  "type": "string",
@@ -68,9 +68,9 @@
68
68
  "description": "The repo's current revision (TID), as last reported to the authority. May lag the repo host, which is the source of truth.",
69
69
  "format": "tid"
70
70
  },
71
- "hash": {
71
+ "data": {
72
72
  "type": "bytes",
73
- "description": "The repo's current commit hash (sha256 of the LtHash state), as last reported to the authority."
73
+ "description": "The repo's current commit data (sha256 of the LtHash state), as last reported to the authority."
74
74
  },
75
75
  "spaceRev": {
76
76
  "type": "string",
@@ -4,7 +4,7 @@
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "procedure",
7
- "description": "Notify a syncing service that a space has been deleted, and that it should drop every copy of the space's data it holds. Sent by the space authority to the services registered for the space, best-effort. Authenticated with service auth addressed to the receiving service.",
7
+ "description": "Notify a syncing service that a space was deleted and its copy should be dropped. Sent by the space authority to registered services, retried until delivered or the registration expires. Requires service auth.",
8
8
  "input": {
9
9
  "encoding": "application/json",
10
10
  "schema": {
@@ -9,7 +9,7 @@
9
9
  "encoding": "application/json",
10
10
  "schema": {
11
11
  "type": "object",
12
- "required": ["space", "repo", "repoRev", "hash"],
12
+ "required": ["space", "repo", "repoRev", "data"],
13
13
  "properties": {
14
14
  "space": {
15
15
  "type": "string",
@@ -26,9 +26,9 @@
26
26
  "description": "The repo revision after the write.",
27
27
  "format": "tid"
28
28
  },
29
- "hash": {
29
+ "data": {
30
30
  "type": "bytes",
31
- "description": "The repo's current commit hash (sha256 of the LtHash state) after the write. Lets the space host maintain each repo's hash for listRepos."
31
+ "description": "The repo's current commit data (sha256 of the LtHash state) after the write. Lets the space host maintain each repo's commit data for listRepos."
32
32
  },
33
33
  "spaceRev": {
34
34
  "type": "string",
@@ -86,6 +86,16 @@
86
86
  "description": "An experiment id."
87
87
  },
88
88
  "description": "The experiments the user turned on."
89
+ },
90
+ "dismissedLegacyCommunities": {
91
+ "type": "array",
92
+ "maxLength": 256,
93
+ "items": {
94
+ "type": "string",
95
+ "format": "did",
96
+ "description": "A legacy community DID."
97
+ },
98
+ "description": "Legacy communities that cannot move onto spaces and that the user removed from their sidebar."
89
99
  }
90
100
  }
91
101
  }
@@ -450,6 +450,16 @@
450
450
  "description": "An experiment id."
451
451
  },
452
452
  "description": "The experiments the user turned on."
453
+ },
454
+ "dismissedLegacyCommunities": {
455
+ "type": "array",
456
+ "maxLength": 256,
457
+ "items": {
458
+ "type": "string",
459
+ "format": "did",
460
+ "description": "A legacy community DID."
461
+ },
462
+ "description": "Legacy communities that cannot move onto spaces and that the user removed from their sidebar."
453
463
  }
454
464
  }
455
465
  },
@@ -27,7 +27,7 @@
27
27
  "variant": {
28
28
  "type": "string",
29
29
  "description": "A rendition of a resizable image.",
30
- "knownValues": ["thumbnail", "avatar", "banner", "full"]
30
+ "knownValues": ["thumbnail", "avatar", "banner", "spaceBanner", "full"]
31
31
  },
32
32
  "filename": {
33
33
  "type": "string",
@@ -79,6 +79,11 @@
79
79
  "format": "at-uri",
80
80
  "description": "The repo-backed community this one replaces, if any."
81
81
  },
82
+ "migration": {
83
+ "type": "ref",
84
+ "ref": "#migrationInfo",
85
+ "description": "When and by whom this community moved from its repo-backed predecessor. Set on migrated communities."
86
+ },
82
87
  "memberCount": {
83
88
  "type": "integer",
84
89
  "description": "Number of admitted members."
@@ -656,6 +661,88 @@
656
661
  "viewerIsAdmin": {
657
662
  "type": "boolean",
658
663
  "description": "Whether the requesting user may migrate this community. Only an administrator of the legacy community can."
664
+ },
665
+ "picture": {
666
+ "type": "string",
667
+ "format": "uri",
668
+ "description": "URL of the legacy community's icon, served by this AppView's blob proxy."
669
+ },
670
+ "owner": {
671
+ "type": "ref",
672
+ "ref": "#legacyOwner",
673
+ "description": "The member who owns the legacy community, for members to ask about the move."
674
+ },
675
+ "state": {
676
+ "type": "string",
677
+ "knownValues": ["migratable", "migrating", "blocked"],
678
+ "description": "Where the community stands. migratable waits for an administrator, migrating is moving now, blocked cannot move. Absent means migratable."
679
+ },
680
+ "blockedReason": {
681
+ "type": "string",
682
+ "knownValues": ["ownerRepo", "unreadable", "noAdmin"],
683
+ "description": "Why a blocked community cannot move. ownerRepo lives inside its owner's repo, unreadable has a repo that did not respond, noAdmin has nobody left who may migrate it."
684
+ },
685
+ "progress": {
686
+ "type": "ref",
687
+ "ref": "#migrationProgress",
688
+ "description": "How far a running migration has come. Set while state is migrating."
689
+ }
690
+ }
691
+ },
692
+ "legacyOwner": {
693
+ "type": "object",
694
+ "description": "The owner of a legacy community.",
695
+ "required": ["did"],
696
+ "properties": {
697
+ "did": {
698
+ "type": "string",
699
+ "format": "did",
700
+ "description": "The owner's DID."
701
+ },
702
+ "handle": {
703
+ "type": "string",
704
+ "format": "handle",
705
+ "description": "The owner's handle, when it resolves."
706
+ }
707
+ }
708
+ },
709
+ "migrationProgress": {
710
+ "type": "object",
711
+ "description": "How far a migration has come.",
712
+ "required": ["step", "completed", "total"],
713
+ "properties": {
714
+ "step": {
715
+ "type": "string",
716
+ "description": "The step running now. Same values as social.colibri.beta.sync.defs#communityProgressEvent."
717
+ },
718
+ "completed": {
719
+ "type": "integer",
720
+ "description": "Steps finished."
721
+ },
722
+ "total": {
723
+ "type": "integer",
724
+ "description": "Steps in total."
725
+ },
726
+ "failed": {
727
+ "type": "boolean",
728
+ "description": "Whether the last attempt failed. Starting the migration again resumes it from the last finished step."
729
+ }
730
+ }
731
+ },
732
+ "migrationInfo": {
733
+ "type": "object",
734
+ "description": "When and by whom a community moved onto spaces.",
735
+ "required": ["at", "by"],
736
+ "properties": {
737
+ "at": {
738
+ "type": "string",
739
+ "format": "datetime",
740
+ "description": "When the migration finished."
741
+ },
742
+ "by": {
743
+ "type": "string",
744
+ "format": "did",
745
+ "description": "The administrator who started it."
659
746
  }
660
747
  }
661
748
  }
@@ -4,7 +4,7 @@
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "query",
7
- "description": "Lists the repo-backed communities the requesting user belongs to that have not been migrated onto spaces yet, so a client can offer them as a choice rather than asking for a handle. The AppView reads this live from the user's own public repo and each candidate's public repo, because nothing about an unmigrated community is indexed. Only a community that holds its own DID is listed: an older community that lived in its owner's repo cannot be migrated.",
7
+ "description": "Lists the repo-backed communities the requesting user belongs to that have not finished moving onto spaces. The AppView reads this live from the user's own public repo and each candidate's public repo. A community that cannot move, such as one inside its owner's repo or one whose repo did not respond, is listed in state blocked with a reason.",
8
8
  "parameters": {
9
9
  "type": "params",
10
10
  "required": [],
@@ -12,7 +12,7 @@
12
12
  "includeUnadministered": {
13
13
  "type": "boolean",
14
14
  "default": false,
15
- "description": "Whether to include communities the user belongs to but cannot migrate. They come back with viewerIsAdmin false."
15
+ "description": "Whether to include communities the user belongs to but does not administer. They come back with viewerIsAdmin false."
16
16
  }
17
17
  }
18
18
  },
@@ -30,15 +30,6 @@
30
30
  "description": "An unmigrated legacy community."
31
31
  },
32
32
  "description": "Unmigrated legacy communities, in the user's preferred sidebar order where the legacy repo recorded one. This is not paginated: a user's community list is small and every entry costs a live read."
33
- },
34
- "unreadable": {
35
- "type": "array",
36
- "items": {
37
- "type": "string",
38
- "format": "did",
39
- "description": "A community DID whose repo could not be read."
40
- },
41
- "description": "Communities named by the user's repo whose own repo could not be read, so the client can say so instead of silently dropping them."
42
33
  }
43
34
  }
44
35
  }
@@ -4,7 +4,7 @@
4
4
  "defs": {
5
5
  "main": {
6
6
  "type": "procedure",
7
- "description": "Migrates a repo-backed community onto spaces. Structure is recreated in new spaces and stamped with migratedFrom. Message history stays in the legacy public repos and is served alongside, because messages live in their authors' repos and only their authors can move them.",
7
+ "description": "Starts moving a repo-backed community onto spaces and returns once the move is queued. Structure, roles, members and bans are recreated in spaces stamped with migratedFrom. Message history of current members is copied from their public repos and served alongside as read-only legacy messages. The move runs in the background and reports progress through social.colibri.beta.sync.defs#communityProgressEvent. Calling it again while it runs returns the current state, and calling it after a failed attempt resumes from the last finished step.",
8
8
  "input": {
9
9
  "encoding": "application/json",
10
10
  "schema": {
@@ -27,8 +27,8 @@
27
27
  "properties": {
28
28
  "community": {
29
29
  "type": "ref",
30
- "ref": "social.colibri.beta.community.defs#communityView",
31
- "description": "The newly created, space-backed community."
30
+ "ref": "social.colibri.beta.community.defs#legacyCommunityView",
31
+ "description": "The legacy community, in state migrating with its progress."
32
32
  }
33
33
  }
34
34
  }
@@ -50,6 +50,10 @@
50
50
  "name": "AlreadyExists",
51
51
  "description": "This legacy community has already been migrated."
52
52
  },
53
+ {
54
+ "name": "NotMigratable",
55
+ "description": "The community cannot move onto spaces, for example because it lives inside its owner's repo."
56
+ },
53
57
  {
54
58
  "name": "CredentialsUnavailable",
55
59
  "description": "The AppView's stored credentials for this community are missing or unusable."
@@ -689,7 +689,7 @@
689
689
  },
690
690
  "communityProgressEvent": {
691
691
  "type": "object",
692
- "description": "Progress while a community is being created, which takes several PDS round-trips.",
692
+ "description": "Progress while a community is being created or migrated, which takes several PDS round-trips.",
693
693
  "required": ["step", "completed", "total"],
694
694
  "properties": {
695
695
  "step": {
@@ -701,6 +701,15 @@
701
701
  "writingProfile",
702
702
  "creatingOwnerRole",
703
703
  "creatingStarterChannels",
704
+ "readingLegacyRepo",
705
+ "writingSettings",
706
+ "migratingRoles",
707
+ "migratingMembers",
708
+ "migratingBans",
709
+ "migratingChannels",
710
+ "migratingCategories",
711
+ "mirroringMessages",
712
+ "retiringLegacyCommunity",
704
713
  "done",
705
714
  "failed"
706
715
  ]
@@ -73,6 +73,11 @@
73
73
  "type": "integer",
74
74
  "description": "How many of those messages were moved in from somewhere else."
75
75
  },
76
+ "lastMessage": {
77
+ "type": "ref",
78
+ "ref": "social.colibri.beta.channel.defs#channelSummary",
79
+ "description": "The latest message in the thread the requesting user may see, reduced to what a thread list preview shows. Its channel is the thread's space. Absent when the thread holds no message the user may see."
80
+ },
76
81
  "participants": {
77
82
  "type": "array",
78
83
  "items": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colibri-social/lexicons",
3
- "version": "2.28.0",
3
+ "version": "2.30.0",
4
4
  "description": "Colibri lexicon schemas and the types generated from them",
5
5
  "type": "module",
6
6
  "exports": {
@@ -27,8 +27,8 @@
27
27
  "access": "public"
28
28
  },
29
29
  "dependencies": {
30
- "@atproto/lex": "0.0.0-spaces-alpha-20261001173819",
31
- "@atproto/lex-data": "0.0.0-spaces-alpha-20261001173819"
30
+ "@atproto/lex": "0.0.0-spaces-alpha-20261022141228",
31
+ "@atproto/lex-data": "0.0.0-spaces-alpha-20261022141228"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "tsc --build",