@colibri-social/lexicons 2.27.0 → 2.29.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 (49) 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/social/colibri/beta/actor/clientPreferences.defs.d.ts +28 -0
  7. package/dist/generated/social/colibri/beta/actor/clientPreferences.defs.d.ts.map +1 -1
  8. package/dist/generated/social/colibri/beta/actor/clientPreferences.defs.js +1 -1
  9. package/dist/generated/social/colibri/beta/actor/clientPreferences.defs.js.map +1 -1
  10. package/dist/generated/social/colibri/beta/actor/defs.defs.d.ts +4 -0
  11. package/dist/generated/social/colibri/beta/actor/defs.defs.d.ts.map +1 -1
  12. package/dist/generated/social/colibri/beta/actor/defs.defs.js +1 -1
  13. package/dist/generated/social/colibri/beta/actor/defs.defs.js.map +1 -1
  14. package/dist/generated/social/colibri/beta/blob/get.defs.d.ts +2 -2
  15. package/dist/generated/social/colibri/beta/blob/get.defs.d.ts.map +1 -1
  16. package/dist/generated/social/colibri/beta/blob/get.defs.js.map +1 -1
  17. package/dist/generated/social/colibri/beta/community/defs.defs.d.ts +80 -0
  18. package/dist/generated/social/colibri/beta/community/defs.defs.d.ts.map +1 -1
  19. package/dist/generated/social/colibri/beta/community/defs.defs.js +11 -2
  20. package/dist/generated/social/colibri/beta/community/defs.defs.js.map +1 -1
  21. package/dist/generated/social/colibri/beta/community/listMigratable.defs.d.ts +1 -7
  22. package/dist/generated/social/colibri/beta/community/listMigratable.defs.d.ts.map +1 -1
  23. package/dist/generated/social/colibri/beta/community/listMigratable.defs.js +2 -2
  24. package/dist/generated/social/colibri/beta/community/listMigratable.defs.js.map +1 -1
  25. package/dist/generated/social/colibri/beta/community/migrate.defs.d.ts +4 -4
  26. package/dist/generated/social/colibri/beta/community/migrate.defs.d.ts.map +1 -1
  27. package/dist/generated/social/colibri/beta/community/migrate.defs.js +3 -3
  28. package/dist/generated/social/colibri/beta/community/migrate.defs.js.map +1 -1
  29. package/dist/generated/social/colibri/beta/sync/defs.defs.d.ts +3 -3
  30. package/dist/generated/social/colibri/beta/sync/defs.defs.d.ts.map +1 -1
  31. package/dist/generated/social/colibri/beta/sync/defs.defs.js +1 -1
  32. package/dist/generated/social/colibri/beta/sync/defs.defs.js.map +1 -1
  33. package/dist/generated/social/colibri/beta/thread/defs.defs.d.ts +4 -0
  34. package/dist/generated/social/colibri/beta/thread/defs.defs.d.ts.map +1 -1
  35. package/dist/generated/social/colibri/beta/thread/defs.defs.js +1 -1
  36. package/dist/generated/social/colibri/beta/thread/defs.defs.js.map +1 -1
  37. package/dist/nsids.d.ts +1 -2
  38. package/dist/nsids.d.ts.map +1 -1
  39. package/dist/nsids.js +1 -2
  40. package/dist/nsids.js.map +1 -1
  41. package/lexicons/social/colibri/beta/actor/clientPreferences.json +16 -0
  42. package/lexicons/social/colibri/beta/actor/defs.json +6 -0
  43. package/lexicons/social/colibri/beta/blob/get.json +1 -1
  44. package/lexicons/social/colibri/beta/community/defs.json +87 -0
  45. package/lexicons/social/colibri/beta/community/listMigratable.json +2 -11
  46. package/lexicons/social/colibri/beta/community/migrate.json +7 -3
  47. package/lexicons/social/colibri/beta/sync/defs.json +10 -1
  48. package/lexicons/social/colibri/beta/thread/defs.json +5 -0
  49. package/package.json +1 -1
@@ -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.27.0",
3
+ "version": "2.29.0",
4
4
  "description": "Colibri lexicon schemas and the types generated from them",
5
5
  "type": "module",
6
6
  "exports": {