@atproto/api 0.20.23 → 0.20.26

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 (74) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/agent.d.ts +4 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +17 -0
  5. package/dist/agent.js.map +1 -1
  6. package/dist/client/lexicons.d.ts +8 -0
  7. package/dist/client/lexicons.d.ts.map +1 -1
  8. package/dist/client/lexicons.js +4 -0
  9. package/dist/client/lexicons.js.map +1 -1
  10. package/dist/client/types/app/bsky/actor/defs.d.ts +2 -0
  11. package/dist/client/types/app/bsky/actor/defs.d.ts.map +1 -1
  12. package/dist/client/types/app/bsky/actor/defs.js.map +1 -1
  13. package/dist/rich-text/detection.d.ts.map +1 -1
  14. package/dist/rich-text/detection.js +4 -1
  15. package/dist/rich-text/detection.js.map +1 -1
  16. package/dist/types.d.ts +1 -0
  17. package/dist/types.d.ts.map +1 -1
  18. package/dist/types.js.map +1 -1
  19. package/package.json +22 -16
  20. package/definitions/labels.json +0 -170
  21. package/docs/moderation.md +0 -260
  22. package/jest.config.cjs +0 -23
  23. package/jest.d.ts +0 -20
  24. package/jest.setup.ts +0 -97
  25. package/scripts/code/labels.mjs +0 -77
  26. package/scripts/generate-code.mjs +0 -4
  27. package/src/age-assurance.test.ts +0 -218
  28. package/src/age-assurance.ts +0 -137
  29. package/src/agent.ts +0 -1645
  30. package/src/atp-agent.ts +0 -570
  31. package/src/bsky-agent.ts +0 -14
  32. package/src/const.ts +0 -1
  33. package/src/index.ts +0 -44
  34. package/src/mocker.ts +0 -220
  35. package/src/moderation/decision.ts +0 -389
  36. package/src/moderation/index.ts +0 -69
  37. package/src/moderation/mutewords.ts +0 -170
  38. package/src/moderation/subjects/account.ts +0 -44
  39. package/src/moderation/subjects/feed-generator.ts +0 -24
  40. package/src/moderation/subjects/notification.ts +0 -25
  41. package/src/moderation/subjects/post.ts +0 -433
  42. package/src/moderation/subjects/profile.ts +0 -26
  43. package/src/moderation/subjects/status.ts +0 -27
  44. package/src/moderation/subjects/user-list.ts +0 -48
  45. package/src/moderation/types.ts +0 -191
  46. package/src/moderation/ui.ts +0 -21
  47. package/src/moderation/util.ts +0 -111
  48. package/src/predicate.ts +0 -52
  49. package/src/rich-text/detection.ts +0 -146
  50. package/src/rich-text/rich-text.ts +0 -418
  51. package/src/rich-text/sanitization.ts +0 -42
  52. package/src/rich-text/unicode.ts +0 -47
  53. package/src/rich-text/util.ts +0 -15
  54. package/src/session-manager.ts +0 -5
  55. package/src/types.ts +0 -165
  56. package/src/util.ts +0 -96
  57. package/tests/atp-agent.test.ts +0 -3863
  58. package/tests/dispatcher.test.ts +0 -527
  59. package/tests/errors.test.ts +0 -29
  60. package/tests/moderation-behaviors.test.ts +0 -951
  61. package/tests/moderation-custom-labels.test.ts +0 -334
  62. package/tests/moderation-mutewords.test.ts +0 -1299
  63. package/tests/moderation-prefs.test.ts +0 -402
  64. package/tests/moderation-quoteposts.test.ts +0 -277
  65. package/tests/moderation.test.ts +0 -739
  66. package/tests/rich-text-detection.test.ts +0 -456
  67. package/tests/rich-text-sanitization.test.ts +0 -216
  68. package/tests/rich-text.test.ts +0 -705
  69. package/tests/util/echo-server.ts +0 -37
  70. package/tests/util/moderation-behavior.ts +0 -268
  71. package/tsconfig.build.json +0 -9
  72. package/tsconfig.build.tsbuildinfo +0 -1
  73. package/tsconfig.json +0 -7
  74. package/tsconfig.tests.json +0 -10
@@ -1,137 +0,0 @@
1
- import { AppBskyAgeassuranceDefs } from './client/index.js'
2
- import { ids } from './client/lexicons.js'
3
-
4
- export type AgeAssuranceRuleID = Exclude<
5
- | AppBskyAgeassuranceDefs.ConfigRegionRuleDefault['$type']
6
- | AppBskyAgeassuranceDefs.ConfigRegionRuleIfDeclaredOverAge['$type']
7
- | AppBskyAgeassuranceDefs.ConfigRegionRuleIfDeclaredUnderAge['$type']
8
- | AppBskyAgeassuranceDefs.ConfigRegionRuleIfAssuredOverAge['$type']
9
- | AppBskyAgeassuranceDefs.ConfigRegionRuleIfAssuredUnderAge['$type']
10
- | AppBskyAgeassuranceDefs.ConfigRegionRuleIfAccountNewerThan['$type']
11
- | AppBskyAgeassuranceDefs.ConfigRegionRuleIfAccountOlderThan['$type'],
12
- undefined
13
- >
14
-
15
- export const ageAssuranceRuleIDs: Record<string, AgeAssuranceRuleID> = {
16
- Default: `${ids.AppBskyAgeassuranceDefs}#configRegionRuleDefault`,
17
- IfDeclaredOverAge: `${ids.AppBskyAgeassuranceDefs}#configRegionRuleIfDeclaredOverAge`,
18
- IfDeclaredUnderAge: `${ids.AppBskyAgeassuranceDefs}#configRegionRuleIfDeclaredUnderAge`,
19
- IfAssuredOverAge: `${ids.AppBskyAgeassuranceDefs}#configRegionRuleIfAssuredOverAge`,
20
- IfAssuredUnderAge: `${ids.AppBskyAgeassuranceDefs}#configRegionRuleIfAssuredUnderAge`,
21
- IfAccountNewerThan: `${ids.AppBskyAgeassuranceDefs}#configRegionRuleIfAccountNewerThan`,
22
- IfAccountOlderThan: `${ids.AppBskyAgeassuranceDefs}#configRegionRuleIfAccountOlderThan`,
23
- }
24
-
25
- /**
26
- * Returns the first matched region configuration based on the provided geolocation.
27
- */
28
- export function getAgeAssuranceRegionConfig(
29
- config: AppBskyAgeassuranceDefs.Config,
30
- geolocation: {
31
- countryCode: string
32
- regionCode?: string
33
- },
34
- ): AppBskyAgeassuranceDefs.ConfigRegion | undefined {
35
- const { regions } = config
36
- return regions.find(({ countryCode, regionCode }) => {
37
- if (countryCode === geolocation.countryCode) {
38
- return !regionCode || regionCode === geolocation.regionCode
39
- }
40
- })
41
- }
42
-
43
- export function computeAgeAssuranceRegionAccess(
44
- region: AppBskyAgeassuranceDefs.ConfigRegion,
45
- data:
46
- | {
47
- /**
48
- * The account creation date in ISO 8601 format. Only checked if we
49
- * don't have an assured age, such as on the client.
50
- */
51
- accountCreatedAt?: string
52
- /**
53
- * The user's declared age
54
- */
55
- declaredAge?: number
56
- /**
57
- * The user's minimum age as assured by a trusted third party.
58
- */
59
- assuredAge?: number
60
- }
61
- | undefined,
62
- ):
63
- | {
64
- access: AppBskyAgeassuranceDefs.Access
65
- reason: AgeAssuranceRuleID
66
- }
67
- | undefined {
68
- // first match wins
69
- for (const rule of region.rules) {
70
- if (AppBskyAgeassuranceDefs.isConfigRegionRuleIfAccountNewerThan(rule)) {
71
- if (data?.accountCreatedAt && !data?.assuredAge) {
72
- const accountCreatedAt = new Date(data.accountCreatedAt)
73
- const threshold = new Date(rule.date)
74
- if (accountCreatedAt >= threshold) {
75
- return {
76
- access: rule.access,
77
- reason: rule.$type,
78
- }
79
- }
80
- }
81
- } else if (
82
- AppBskyAgeassuranceDefs.isConfigRegionRuleIfAccountOlderThan(rule)
83
- ) {
84
- if (data?.accountCreatedAt && !data?.assuredAge) {
85
- const accountCreatedAt = new Date(data.accountCreatedAt)
86
- const threshold = new Date(rule.date)
87
- if (accountCreatedAt < threshold) {
88
- return {
89
- access: rule.access,
90
- reason: rule.$type,
91
- }
92
- }
93
- }
94
- } else if (
95
- AppBskyAgeassuranceDefs.isConfigRegionRuleIfDeclaredOverAge(rule)
96
- ) {
97
- if (data?.declaredAge !== undefined && data.declaredAge >= rule.age) {
98
- return {
99
- access: rule.access,
100
- reason: rule.$type,
101
- }
102
- }
103
- } else if (
104
- AppBskyAgeassuranceDefs.isConfigRegionRuleIfDeclaredUnderAge(rule)
105
- ) {
106
- if (data?.declaredAge !== undefined && data.declaredAge < rule.age) {
107
- return {
108
- access: rule.access,
109
- reason: rule.$type,
110
- }
111
- }
112
- } else if (
113
- AppBskyAgeassuranceDefs.isConfigRegionRuleIfAssuredOverAge(rule)
114
- ) {
115
- if (data?.assuredAge && data.assuredAge >= rule.age) {
116
- return {
117
- access: rule.access,
118
- reason: rule.$type,
119
- }
120
- }
121
- } else if (
122
- AppBskyAgeassuranceDefs.isConfigRegionRuleIfAssuredUnderAge(rule)
123
- ) {
124
- if (data?.assuredAge && data.assuredAge < rule.age) {
125
- return {
126
- access: rule.access,
127
- reason: rule.$type,
128
- }
129
- }
130
- } else if (AppBskyAgeassuranceDefs.isConfigRegionRuleDefault(rule)) {
131
- return {
132
- access: rule.access,
133
- reason: rule.$type,
134
- }
135
- }
136
- }
137
- }