@atproto/bsky 0.0.248 → 0.0.250
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.
- package/CHANGELOG.md +38 -0
- package/dist/api/age-assurance/const.d.ts.map +1 -1
- package/dist/api/age-assurance/const.js +19 -0
- package/dist/api/age-assurance/const.js.map +1 -1
- package/dist/api/age-assurance/kws/age-verified.d.ts +20 -0
- package/dist/api/age-assurance/kws/age-verified.d.ts.map +1 -1
- package/dist/api/age-assurance/kws/age-verified.js +6 -0
- package/dist/api/age-assurance/kws/age-verified.js.map +1 -1
- package/dist/api/app/bsky/graph/muteActor.d.ts.map +1 -1
- package/dist/api/app/bsky/graph/muteActor.js +3 -0
- package/dist/api/app/bsky/graph/muteActor.js.map +1 -1
- package/dist/api/kws/types.d.ts +33 -0
- package/dist/api/kws/types.d.ts.map +1 -1
- package/dist/api/kws/types.js +3 -0
- package/dist/api/kws/types.js.map +1 -1
- package/dist/data-plane/index.d.ts +0 -1
- package/dist/data-plane/index.d.ts.map +1 -1
- package/dist/data-plane/index.js +0 -1
- package/dist/data-plane/index.js.map +1 -1
- package/dist/data-plane/server/bsync-subscription.d.ts +47 -0
- package/dist/data-plane/server/bsync-subscription.d.ts.map +1 -0
- package/dist/data-plane/server/bsync-subscription.js +461 -0
- package/dist/data-plane/server/bsync-subscription.js.map +1 -0
- package/dist/data-plane/server/index.d.ts +1 -0
- package/dist/data-plane/server/index.d.ts.map +1 -1
- package/dist/data-plane/server/index.js +1 -0
- package/dist/data-plane/server/index.js.map +1 -1
- package/dist/lexicons/app/bsky/ageassurance/defs.defs.d.ts +4 -0
- package/dist/lexicons/app/bsky/ageassurance/defs.defs.d.ts.map +1 -1
- package/dist/lexicons/app/bsky/ageassurance/defs.defs.js +3 -0
- package/dist/lexicons/app/bsky/ageassurance/defs.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/convo/defs.defs.js +1 -1
- package/dist/lexicons/chat/bsky/convo/defs.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/group/editGroup.defs.d.ts +4 -4
- package/dist/lexicons/chat/bsky/group/editGroup.defs.js +2 -2
- package/dist/lexicons/chat/bsky/group/editGroup.defs.js.map +1 -1
- package/dist/lexicons/chat/bsky/moderation/defs.defs.js +1 -1
- package/dist/lexicons/chat/bsky/moderation/defs.defs.js.map +1 -1
- package/package.json +16 -16
- package/src/api/age-assurance/const.ts +19 -0
- package/src/api/age-assurance/kws/age-verified.test.ts +98 -0
- package/src/api/age-assurance/kws/age-verified.ts +6 -0
- package/src/api/app/bsky/graph/muteActor.ts +3 -0
- package/src/api/kws/types.ts +11 -0
- package/src/api/kws/util.test.ts +50 -0
- package/src/data-plane/index.ts +0 -1
- package/src/data-plane/{bsync/index.ts → server/bsync-subscription.ts} +245 -121
- package/src/data-plane/server/index.ts +1 -0
- package/tests/data-plane/thread-mutes.test.ts +2 -0
- package/tests/stash.test.ts +6 -1
- package/tests/views/age-assurance-v2.test.ts +3 -0
- package/tests/views/age-assurance.test.ts +8 -0
- package/tests/views/bookmarks.test.ts +19 -0
- package/tests/views/drafts.test.ts +25 -2
- package/tests/views/mute-lists.test.ts +2 -0
- package/tests/views/mutes.test.ts +1 -0
- package/tests/views/notifications.test.ts +16 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/dist/data-plane/bsync/index.d.ts +0 -11
- package/dist/data-plane/bsync/index.d.ts.map +0 -1
- package/dist/data-plane/bsync/index.js +0 -376
- package/dist/data-plane/bsync/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# @atproto/bsky
|
|
2
2
|
|
|
3
|
+
## 0.0.250
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#5164](https://github.com/bluesky-social/atproto/pull/5164) [`7f88ef3`](https://github.com/bluesky-social/atproto/commit/7f88ef3a37b81a35cdb727c1daee00dfe89db6ca) Thanks [@estrattonbailey](https://github.com/estrattonbailey)! - Support the new `timestamp` field, along with `transactionId` and `errorCode`, on KWS age verification status payloads.
|
|
8
|
+
|
|
9
|
+
- [#5166](https://github.com/bluesky-social/atproto/pull/5166) [`45278fd`](https://github.com/bluesky-social/atproto/commit/45278fd367ee50654ac5d09bd6da1451c8b0cd98) Thanks [@estrattonbailey](https://github.com/estrattonbailey)! - Add `additionalVerificationMethods` to Age Assurance config and add required config for Texas
|
|
10
|
+
|
|
11
|
+
- [#4179](https://github.com/bluesky-social/atproto/pull/4179) [`85c25ef`](https://github.com/bluesky-social/atproto/commit/85c25efde14c1d0383f32bba21b21bdad2ae2619) Thanks [@rafaeleyng](https://github.com/rafaeleyng)! - Subscribe to the real bsync service in dev-env instead of using a mock, with a `BsyncSubscription` on the bsky dataplane that consumes the mute, notif, and operation streams. Supports immediate shutdown (aborting in-flight long-polls) and cursor-based draining so tests stay fast.
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`f2a0efe`](https://github.com/bluesky-social/atproto/commit/f2a0efe11140c8bebe488ac1f737e242d7f23f0b), [`45278fd`](https://github.com/bluesky-social/atproto/commit/45278fd367ee50654ac5d09bd6da1451c8b0cd98), [`f2a0efe`](https://github.com/bluesky-social/atproto/commit/f2a0efe11140c8bebe488ac1f737e242d7f23f0b)]:
|
|
14
|
+
- @atproto/xrpc-server@0.11.4
|
|
15
|
+
- @atproto/api@0.20.23
|
|
16
|
+
- @atproto-labs/xrpc-utils@0.1.3
|
|
17
|
+
- @atproto/sync@0.3.5
|
|
18
|
+
|
|
19
|
+
## 0.0.249
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- [#5151](https://github.com/bluesky-social/atproto/pull/5151) [`a51c45d`](https://github.com/bluesky-social/atproto/commit/a51c45d38f6bd7b8765f640e564cf921d52162e7) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Update dependencies
|
|
24
|
+
|
|
25
|
+
- [#5149](https://github.com/bluesky-social/atproto/pull/5149) [`f2cf8f7`](https://github.com/bluesky-social/atproto/commit/f2cf8f7fc5f3a10847f2e6d785e5fa2244ee8cfb) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Update `pino` logger to version 10
|
|
26
|
+
|
|
27
|
+
- Updated dependencies [[`60e9b83`](https://github.com/bluesky-social/atproto/commit/60e9b8391f212c274b1f21991ee2a3a2d14f2f88), [`60e9b83`](https://github.com/bluesky-social/atproto/commit/60e9b8391f212c274b1f21991ee2a3a2d14f2f88), [`60e9b83`](https://github.com/bluesky-social/atproto/commit/60e9b8391f212c274b1f21991ee2a3a2d14f2f88), [`f2cf8f7`](https://github.com/bluesky-social/atproto/commit/f2cf8f7fc5f3a10847f2e6d785e5fa2244ee8cfb), [`60e9b83`](https://github.com/bluesky-social/atproto/commit/60e9b8391f212c274b1f21991ee2a3a2d14f2f88), [`a51c45d`](https://github.com/bluesky-social/atproto/commit/a51c45d38f6bd7b8765f640e564cf921d52162e7), [`60e9b83`](https://github.com/bluesky-social/atproto/commit/60e9b8391f212c274b1f21991ee2a3a2d14f2f88), [`f2cf8f7`](https://github.com/bluesky-social/atproto/commit/f2cf8f7fc5f3a10847f2e6d785e5fa2244ee8cfb)]:
|
|
28
|
+
- @atproto-labs/fetch-node@0.3.3
|
|
29
|
+
- @atproto/common@0.6.4
|
|
30
|
+
- @atproto/api@0.20.22
|
|
31
|
+
- @atproto/crypto@0.5.2
|
|
32
|
+
- @atproto/did@0.5.2
|
|
33
|
+
- @atproto/identity@0.5.2
|
|
34
|
+
- @atproto-labs/xrpc-utils@0.1.2
|
|
35
|
+
- @atproto/lex@0.1.5
|
|
36
|
+
- @atproto/repo@0.10.2
|
|
37
|
+
- @atproto/sync@0.3.4
|
|
38
|
+
- @atproto/syntax@0.6.3
|
|
39
|
+
- @atproto/xrpc-server@0.11.3
|
|
40
|
+
|
|
3
41
|
## 0.0.248
|
|
4
42
|
|
|
5
43
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/api/age-assurance/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/api/age-assurance/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;CAgM/B,CAAA"}
|
|
@@ -157,6 +157,25 @@ export const AGE_ASSURANCE_CONFIG = app.bsky.ageassurance.defs.config.$build({
|
|
|
157
157
|
}),
|
|
158
158
|
],
|
|
159
159
|
},
|
|
160
|
+
{
|
|
161
|
+
countryCode: 'US',
|
|
162
|
+
regionCode: 'TX',
|
|
163
|
+
minAccessAge: 18,
|
|
164
|
+
// On-device age verification is permitted here in addition to the
|
|
165
|
+
// third-party (KWS) flow, which is always supported and remains as a
|
|
166
|
+
// fallback for platforms without the native age API (e.g. web) or
|
|
167
|
+
// insufficient device results.
|
|
168
|
+
additionalVerificationMethods: ['device'],
|
|
169
|
+
rules: [
|
|
170
|
+
app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({
|
|
171
|
+
age: 18,
|
|
172
|
+
access: 'full',
|
|
173
|
+
}),
|
|
174
|
+
app.bsky.ageassurance.defs.configRegionRuleDefault.$build({
|
|
175
|
+
access: 'none',
|
|
176
|
+
}),
|
|
177
|
+
],
|
|
178
|
+
},
|
|
160
179
|
{
|
|
161
180
|
countryCode: 'BR',
|
|
162
181
|
regionCode: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/api/age-assurance/const.ts"],"names":[],"mappings":"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","sourcesContent":["import { app } from '../../lexicons/index.js'\n\n/**\n * Age assurance configuration defining rules for various regions.\n *\n * NOTE: These rules are matched in order, and the first matching rule\n * determines the access level granted.\n *\n * NOTE: all regions MUST have a default rule as the last rule.\n */\nexport const AGE_ASSURANCE_CONFIG = app.bsky.ageassurance.defs.config.$build({\n regions: [\n {\n countryCode: 'GB',\n regionCode: undefined,\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'AU',\n regionCode: undefined,\n minAccessAge: 16,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAccountNewerThan.$build({\n date: '2025-12-10T00:00:00Z',\n access: 'none',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 16,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 16,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'SD',\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'WY',\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'OH',\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'MS',\n minAccessAge: 18,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'VA',\n minAccessAge: 16,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 16,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 16,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'TN',\n minAccessAge: 18,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'BR',\n regionCode: undefined,\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n ],\n})\n"]}
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/api/age-assurance/const.ts"],"names":[],"mappings":"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","sourcesContent":["import { app } from '../../lexicons/index.js'\n\n/**\n * Age assurance configuration defining rules for various regions.\n *\n * NOTE: These rules are matched in order, and the first matching rule\n * determines the access level granted.\n *\n * NOTE: all regions MUST have a default rule as the last rule.\n */\nexport const AGE_ASSURANCE_CONFIG = app.bsky.ageassurance.defs.config.$build({\n regions: [\n {\n countryCode: 'GB',\n regionCode: undefined,\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'AU',\n regionCode: undefined,\n minAccessAge: 16,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAccountNewerThan.$build({\n date: '2025-12-10T00:00:00Z',\n access: 'none',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 16,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 16,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'SD',\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'WY',\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'OH',\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'MS',\n minAccessAge: 18,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'VA',\n minAccessAge: 16,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 16,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 16,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'TN',\n minAccessAge: 18,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'US',\n regionCode: 'TX',\n minAccessAge: 18,\n // On-device age verification is permitted here in addition to the\n // third-party (KWS) flow, which is always supported and remains as a\n // fallback for platforms without the native age API (e.g. web) or\n // insufficient device results.\n additionalVerificationMethods: ['device'],\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n {\n countryCode: 'BR',\n regionCode: undefined,\n minAccessAge: 13,\n rules: [\n app.bsky.ageassurance.defs.configRegionRuleIfAssuredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 18,\n access: 'full',\n }),\n app.bsky.ageassurance.defs.configRegionRuleIfDeclaredOverAge.$build({\n age: 13,\n access: 'safe',\n }),\n app.bsky.ageassurance.defs.configRegionRuleDefault.$build({\n access: 'none',\n }),\n ],\n },\n ],\n})\n"]}
|
|
@@ -6,14 +6,20 @@ export declare const KWSAgeVerifiedStatusSchema: z.ZodObject<{
|
|
|
6
6
|
verified: z.ZodBoolean;
|
|
7
7
|
verifiedMinimumAge: z.ZodNumber;
|
|
8
8
|
transactionId: z.ZodOptional<z.ZodString>;
|
|
9
|
+
errorCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
10
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
9
11
|
}, "strip", z.ZodTypeAny, {
|
|
10
12
|
verified: boolean;
|
|
11
13
|
verifiedMinimumAge: number;
|
|
12
14
|
transactionId?: string | undefined;
|
|
15
|
+
errorCode?: string | null | undefined;
|
|
16
|
+
timestamp?: number | undefined;
|
|
13
17
|
}, {
|
|
14
18
|
verified: boolean;
|
|
15
19
|
verifiedMinimumAge: number;
|
|
16
20
|
transactionId?: string | undefined;
|
|
21
|
+
errorCode?: string | null | undefined;
|
|
22
|
+
timestamp?: number | undefined;
|
|
17
23
|
}>;
|
|
18
24
|
/**
|
|
19
25
|
* The KWS `status` object on `age-verified` payloads.
|
|
@@ -43,14 +49,20 @@ export declare const KWSAgeVerifiedWebhookSchema: z.ZodObject<{
|
|
|
43
49
|
verified: z.ZodBoolean;
|
|
44
50
|
verifiedMinimumAge: z.ZodNumber;
|
|
45
51
|
transactionId: z.ZodOptional<z.ZodString>;
|
|
52
|
+
errorCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
53
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
46
54
|
}, "strip", z.ZodTypeAny, {
|
|
47
55
|
verified: boolean;
|
|
48
56
|
verifiedMinimumAge: number;
|
|
49
57
|
transactionId?: string | undefined;
|
|
58
|
+
errorCode?: string | null | undefined;
|
|
59
|
+
timestamp?: number | undefined;
|
|
50
60
|
}, {
|
|
51
61
|
verified: boolean;
|
|
52
62
|
verifiedMinimumAge: number;
|
|
53
63
|
transactionId?: string | undefined;
|
|
64
|
+
errorCode?: string | null | undefined;
|
|
65
|
+
timestamp?: number | undefined;
|
|
54
66
|
}>;
|
|
55
67
|
}, "strip", z.ZodTypeAny, {
|
|
56
68
|
email: string;
|
|
@@ -59,6 +71,8 @@ export declare const KWSAgeVerifiedWebhookSchema: z.ZodObject<{
|
|
|
59
71
|
verified: boolean;
|
|
60
72
|
verifiedMinimumAge: number;
|
|
61
73
|
transactionId?: string | undefined;
|
|
74
|
+
errorCode?: string | null | undefined;
|
|
75
|
+
timestamp?: number | undefined;
|
|
62
76
|
};
|
|
63
77
|
}, {
|
|
64
78
|
email: string;
|
|
@@ -67,6 +81,8 @@ export declare const KWSAgeVerifiedWebhookSchema: z.ZodObject<{
|
|
|
67
81
|
verified: boolean;
|
|
68
82
|
verifiedMinimumAge: number;
|
|
69
83
|
transactionId?: string | undefined;
|
|
84
|
+
errorCode?: string | null | undefined;
|
|
85
|
+
timestamp?: number | undefined;
|
|
70
86
|
};
|
|
71
87
|
}>;
|
|
72
88
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -81,6 +97,8 @@ export declare const KWSAgeVerifiedWebhookSchema: z.ZodObject<{
|
|
|
81
97
|
verified: boolean;
|
|
82
98
|
verifiedMinimumAge: number;
|
|
83
99
|
transactionId?: string | undefined;
|
|
100
|
+
errorCode?: string | null | undefined;
|
|
101
|
+
timestamp?: number | undefined;
|
|
84
102
|
};
|
|
85
103
|
};
|
|
86
104
|
}, {
|
|
@@ -95,6 +113,8 @@ export declare const KWSAgeVerifiedWebhookSchema: z.ZodObject<{
|
|
|
95
113
|
verified: boolean;
|
|
96
114
|
verifiedMinimumAge: number;
|
|
97
115
|
transactionId?: string | undefined;
|
|
116
|
+
errorCode?: string | null | undefined;
|
|
117
|
+
timestamp?: number | undefined;
|
|
98
118
|
};
|
|
99
119
|
};
|
|
100
120
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"age-verified.d.ts","sourceRoot":"","sources":["../../../../src/api/age-assurance/kws/age-verified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"age-verified.d.ts","sourceRoot":"","sources":["../../../../src/api/age-assurance/kws/age-verified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAUrC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE7E,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,oBAAoB,GAC3B,MAAM,CAER;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAC/B,MAAM,KACV,oBASF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAChC,MAAM,KACV,qBAOF,CAAA"}
|
|
@@ -6,6 +6,12 @@ export const KWSAgeVerifiedStatusSchema = z.object({
|
|
|
6
6
|
verified: z.boolean(),
|
|
7
7
|
verifiedMinimumAge: z.number(),
|
|
8
8
|
transactionId: z.string().optional(),
|
|
9
|
+
// A code indicating the reason for failure, or null when verification
|
|
10
|
+
// succeeded.
|
|
11
|
+
errorCode: z.string().nullable().optional(),
|
|
12
|
+
// Epoch seconds indicating when KWS generated the payload. Optional so we
|
|
13
|
+
// remain compatible with payloads sent before this field was introduced.
|
|
14
|
+
timestamp: z.number().optional(),
|
|
9
15
|
});
|
|
10
16
|
export function serializeKWSAgeVerifiedStatus(status) {
|
|
11
17
|
return JSON.stringify(KWSAgeVerifiedStatusSchema.parse(status));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"age-verified.js","sourceRoot":"","sources":["../../../../src/api/age-assurance/kws/age-verified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"age-verified.js","sourceRoot":"","sources":["../../../../src/api/age-assurance/kws/age-verified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,sEAAsE;IACtE,aAAa;IACb,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,0EAA0E;IAC1E,yEAAyE;IACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAOF,MAAM,UAAU,6BAA6B,CAC3C,MAA4B;IAE5B,OAAO,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,GAAW,EACW,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,EAAE;YACzD,KAAK,EAAE,GAAG;SACX,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,6CAA6C;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,2BAA2B;QAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;QAC3B,MAAM,EAAE,0BAA0B;KACnC,CAAC;CACH,CAAC,CAAA;AAOF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,GAAW,EACY,EAAE;IACzB,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtC,OAAO,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACjE,CAAC;AACH,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\n\n/**\n * Schema for KWS the `status` object on `age-verified` payloads.\n */\nexport const KWSAgeVerifiedStatusSchema = z.object({\n verified: z.boolean(),\n verifiedMinimumAge: z.number(),\n transactionId: z.string().optional(),\n // A code indicating the reason for failure, or null when verification\n // succeeded.\n errorCode: z.string().nullable().optional(),\n // Epoch seconds indicating when KWS generated the payload. Optional so we\n // remain compatible with payloads sent before this field was introduced.\n timestamp: z.number().optional(),\n})\n\n/**\n * The KWS `status` object on `age-verified` payloads.\n */\nexport type KWSAgeVerifiedStatus = z.infer<typeof KWSAgeVerifiedStatusSchema>\n\nexport function serializeKWSAgeVerifiedStatus(\n status: KWSAgeVerifiedStatus,\n): string {\n return JSON.stringify(KWSAgeVerifiedStatusSchema.parse(status))\n}\n\n/**\n * Parse KWS `age-verified` status object.\n */\nexport const parseKWSAgeVerifiedStatus = (\n raw: string,\n): KWSAgeVerifiedStatus => {\n try {\n const value = JSON.parse(raw)\n return KWSAgeVerifiedStatusSchema.parse(value)\n } catch (err) {\n throw new Error(`Invalid KWS age-verified status: ${raw}`, {\n cause: err,\n })\n }\n}\n\n/**\n * Schema for KWS `age-verified` webhooks.\n *\n * Note: we don't use `.strict()` here so that we avoid breaking if KWS adds\n * fields, and some fields below are not strictly typed since we're not using\n * them.\n */\nexport const KWSAgeVerifiedWebhookSchema = z.object({\n name: z.string(),\n time: z.string(), // ISO8601 timestamp, but don't validate here\n orgId: z.string().uuid().optional(),\n productId: z.string().uuid().optional(),\n payload: z.object({\n email: z.string(), // no need to validate here\n externalPayload: z.string(),\n status: KWSAgeVerifiedStatusSchema,\n }),\n})\n\n/**\n * The raw KWS `age-verified` webhook body\n */\nexport type KWSWebhookAgeVerified = z.infer<typeof KWSAgeVerifiedWebhookSchema>\n\n/**\n * Parse KWS `age-verified` webhook body and its external payload.\n */\nexport const parseKWSAgeVerifiedWebhook = (\n raw: string,\n): KWSWebhookAgeVerified => {\n try {\n const value: unknown = JSON.parse(raw)\n return KWSAgeVerifiedWebhookSchema.parse(value)\n } catch (err) {\n throw new Error(`Invalid webhook body: ${raw}`, { cause: err })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muteActor.d.ts","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/muteActor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAInD,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"muteActor.d.ts","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/muteActor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAInD,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAkBvD"}
|
|
@@ -10,6 +10,9 @@ export default function (server, ctx) {
|
|
|
10
10
|
const [did] = await ctx.hydrator.actor.getDids([actor]);
|
|
11
11
|
if (!did)
|
|
12
12
|
throw new InvalidRequestError('Actor not found');
|
|
13
|
+
if (requester === did) {
|
|
14
|
+
throw new InvalidRequestError('Actor cannot mute themselves');
|
|
15
|
+
}
|
|
13
16
|
await ctx.bsyncClient.addMuteOperation({
|
|
14
17
|
type: MuteOperation_Type.ADD,
|
|
15
18
|
actorDid: requester,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muteActor.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/muteActor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAU,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;QACnC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACjC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YACvD,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;YAC1D,MAAM,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;gBACrC,IAAI,EAAE,kBAAkB,CAAC,GAAG;gBAC5B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG;aACb,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { InvalidRequestError, Server } from '@atproto/xrpc-server'\nimport { AppContext } from '../../../../context.js'\nimport { app } from '../../../../lexicons/index.js'\nimport { MuteOperation_Type } from '../../../../proto/bsync_pb.js'\n\nexport default function (server: Server, ctx: AppContext) {\n server.add(app.bsky.graph.muteActor, {\n auth: ctx.authVerifier.standard,\n handler: async ({ auth, input }) => {\n const { actor } = input.body\n const requester = auth.credentials.iss\n const [did] = await ctx.hydrator.actor.getDids([actor])\n if (!did) throw new InvalidRequestError('Actor not found')\n await ctx.bsyncClient.addMuteOperation({\n type: MuteOperation_Type.ADD,\n actorDid: requester,\n subject: did,\n })\n },\n })\n}\n"]}
|
|
1
|
+
{"version":3,"file":"muteActor.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/graph/muteActor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAU,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,MAAM,CAAC,OAAO,WAAW,MAAc,EAAE,GAAe;IACtD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;QACnC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACjC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YACvD,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;YAC1D,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,CAAC,CAAA;YAC/D,CAAC;YACD,MAAM,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;gBACrC,IAAI,EAAE,kBAAkB,CAAC,GAAG;gBAC5B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG;aACb,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { InvalidRequestError, Server } from '@atproto/xrpc-server'\nimport { AppContext } from '../../../../context.js'\nimport { app } from '../../../../lexicons/index.js'\nimport { MuteOperation_Type } from '../../../../proto/bsync_pb.js'\n\nexport default function (server: Server, ctx: AppContext) {\n server.add(app.bsky.graph.muteActor, {\n auth: ctx.authVerifier.standard,\n handler: async ({ auth, input }) => {\n const { actor } = input.body\n const requester = auth.credentials.iss\n const [did] = await ctx.hydrator.actor.getDids([actor])\n if (!did) throw new InvalidRequestError('Actor not found')\n if (requester === did) {\n throw new InvalidRequestError('Actor cannot mute themselves')\n }\n await ctx.bsyncClient.addMuteOperation({\n type: MuteOperation_Type.ADD,\n actorDid: requester,\n subject: did,\n })\n },\n })\n}\n"]}
|
package/dist/api/kws/types.d.ts
CHANGED
|
@@ -24,6 +24,9 @@ export declare const externalPayloadSchema: z.ZodObject<{
|
|
|
24
24
|
}>;
|
|
25
25
|
export type KwsStatus = {
|
|
26
26
|
verified: boolean;
|
|
27
|
+
transactionId?: string;
|
|
28
|
+
errorCode?: string | null;
|
|
29
|
+
timestamp?: number;
|
|
27
30
|
};
|
|
28
31
|
export type KwsVerificationIntermediateQuery = {
|
|
29
32
|
externalPayload: string;
|
|
@@ -56,30 +59,54 @@ export type KwsWebhookBody = {
|
|
|
56
59
|
};
|
|
57
60
|
export declare const statusSchema: z.ZodObject<{
|
|
58
61
|
verified: z.ZodBoolean;
|
|
62
|
+
transactionId: z.ZodOptional<z.ZodString>;
|
|
63
|
+
errorCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
64
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
59
65
|
}, "strip", z.ZodTypeAny, {
|
|
60
66
|
verified: boolean;
|
|
67
|
+
transactionId?: string | undefined;
|
|
68
|
+
errorCode?: string | null | undefined;
|
|
69
|
+
timestamp?: number | undefined;
|
|
61
70
|
}, {
|
|
62
71
|
verified: boolean;
|
|
72
|
+
transactionId?: string | undefined;
|
|
73
|
+
errorCode?: string | null | undefined;
|
|
74
|
+
timestamp?: number | undefined;
|
|
63
75
|
}>;
|
|
64
76
|
export declare const webhookBodyIntermediateSchema: z.ZodObject<{
|
|
65
77
|
payload: z.ZodObject<{
|
|
66
78
|
externalPayload: z.ZodString;
|
|
67
79
|
status: z.ZodObject<{
|
|
68
80
|
verified: z.ZodBoolean;
|
|
81
|
+
transactionId: z.ZodOptional<z.ZodString>;
|
|
82
|
+
errorCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
83
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
69
84
|
}, "strip", z.ZodTypeAny, {
|
|
70
85
|
verified: boolean;
|
|
86
|
+
transactionId?: string | undefined;
|
|
87
|
+
errorCode?: string | null | undefined;
|
|
88
|
+
timestamp?: number | undefined;
|
|
71
89
|
}, {
|
|
72
90
|
verified: boolean;
|
|
91
|
+
transactionId?: string | undefined;
|
|
92
|
+
errorCode?: string | null | undefined;
|
|
93
|
+
timestamp?: number | undefined;
|
|
73
94
|
}>;
|
|
74
95
|
}, "strip", z.ZodTypeAny, {
|
|
75
96
|
externalPayload: string;
|
|
76
97
|
status: {
|
|
77
98
|
verified: boolean;
|
|
99
|
+
transactionId?: string | undefined;
|
|
100
|
+
errorCode?: string | null | undefined;
|
|
101
|
+
timestamp?: number | undefined;
|
|
78
102
|
};
|
|
79
103
|
}, {
|
|
80
104
|
externalPayload: string;
|
|
81
105
|
status: {
|
|
82
106
|
verified: boolean;
|
|
107
|
+
transactionId?: string | undefined;
|
|
108
|
+
errorCode?: string | null | undefined;
|
|
109
|
+
timestamp?: number | undefined;
|
|
83
110
|
};
|
|
84
111
|
}>;
|
|
85
112
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -87,6 +114,9 @@ export declare const webhookBodyIntermediateSchema: z.ZodObject<{
|
|
|
87
114
|
externalPayload: string;
|
|
88
115
|
status: {
|
|
89
116
|
verified: boolean;
|
|
117
|
+
transactionId?: string | undefined;
|
|
118
|
+
errorCode?: string | null | undefined;
|
|
119
|
+
timestamp?: number | undefined;
|
|
90
120
|
};
|
|
91
121
|
};
|
|
92
122
|
}, {
|
|
@@ -94,6 +124,9 @@ export declare const webhookBodyIntermediateSchema: z.ZodObject<{
|
|
|
94
124
|
externalPayload: string;
|
|
95
125
|
status: {
|
|
96
126
|
verified: boolean;
|
|
127
|
+
transactionId?: string | undefined;
|
|
128
|
+
errorCode?: string | null | undefined;
|
|
129
|
+
timestamp?: number | undefined;
|
|
97
130
|
};
|
|
98
131
|
};
|
|
99
132
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/kws/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG;IACjD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,YAAY,GAAG;QAClB,GAAG,EAAE,SAAS,CAAA;KACf,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAGD,eAAO,MAAM,qBAAqB;;;;;;;;;EAKvB,CAAA;AAEX,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/kws/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG;IACjD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,YAAY,GAAG;QAClB,GAAG,EAAE,SAAS,CAAA;KACf,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAGD,eAAO,MAAM,qBAAqB;;;;;;;;;EAKvB,CAAA;AAEX,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,OAAO,CAAA;IAEjB,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAGzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAGD,eAAO,MAAM,mCAAmC;;;;;;;;;;;;EAI9C,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,kBAAkB,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE;QACP,eAAe,EAAE,kBAAkB,CAAA;QACnC,MAAM,EAAE,SAAS,CAAA;KAClB,CAAA;CACF,CAAA;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;EAKvB,CAAA;AAGF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxC,CAAA"}
|
package/dist/api/kws/types.js
CHANGED
|
@@ -15,6 +15,9 @@ export const verificationIntermediateQuerySchema = z.object({
|
|
|
15
15
|
// Not `.strict()` to avoid breaking if KWS adds fields.
|
|
16
16
|
export const statusSchema = z.object({
|
|
17
17
|
verified: z.boolean(),
|
|
18
|
+
transactionId: z.string().optional(),
|
|
19
|
+
errorCode: z.string().nullable().optional(),
|
|
20
|
+
timestamp: z.number().optional(),
|
|
18
21
|
});
|
|
19
22
|
// Not `.strict()` to avoid breaking if KWS adds fields.
|
|
20
23
|
export const webhookBodyIntermediateSchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/kws/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiBvB,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/kws/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiBvB,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,MAAM,EAAE,CAAA;AAoBX,wDAAwD;AACxD,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAA;AAeF,wDAAwD;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;QAC3B,MAAM,EAAE,YAAY;KACrB,CAAC;CACH,CAAC,CAAA","sourcesContent":["import { z } from 'zod'\nimport { KwsConfig, ServerConfig } from '../../config.js'\nimport { AppContext } from '../../context.js'\nimport { KwsClient } from '../../kws.js'\n\nexport type AppContextWithKwsClient = AppContext & {\n kwsClient: KwsClient\n cfg: ServerConfig & {\n kws: KwsConfig\n }\n}\n\nexport type KwsExternalPayload = {\n actorDid: string\n attemptId: string\n}\n\n// `.strict()` because we control the payload structure.\nexport const externalPayloadSchema = z\n .object({\n actorDid: z.string(),\n attemptId: z.string(),\n })\n .strict()\n\nexport type KwsStatus = {\n verified: boolean\n // A unique reference ID for the verification transaction.\n transactionId?: string\n // A code indicating the reason for failure, or null when verification\n // succeeded.\n errorCode?: string | null\n // Epoch seconds indicating when KWS generated the payload. Optional so we\n // remain compatible with payloads sent before this field was introduced.\n timestamp?: number\n}\n\nexport type KwsVerificationIntermediateQuery = {\n externalPayload: string\n status: string\n signature: string\n}\n\n// Not `.strict()` to avoid breaking if KWS adds fields.\nexport const verificationIntermediateQuerySchema = z.object({\n externalPayload: z.string(),\n signature: z.string(),\n status: z.string(),\n})\n\nexport type KwsVerificationQuery = {\n externalPayload: KwsExternalPayload\n signature: string\n status: KwsStatus\n}\n\nexport type KwsWebhookBody = {\n payload: {\n externalPayload: KwsExternalPayload\n status: KwsStatus\n }\n}\n\n// Not `.strict()` to avoid breaking if KWS adds fields.\nexport const statusSchema = z.object({\n verified: z.boolean(),\n transactionId: z.string().optional(),\n errorCode: z.string().nullable().optional(),\n timestamp: z.number().optional(),\n})\n\n// Not `.strict()` to avoid breaking if KWS adds fields.\nexport const webhookBodyIntermediateSchema = z.object({\n payload: z.object({\n externalPayload: z.string(),\n status: statusSchema,\n }),\n})\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data-plane/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data-plane/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
|
package/dist/data-plane/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-plane/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-plane/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA","sourcesContent":["export * from './server/index.js'\nexport * from './client/index.js'\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ServerConfig } from '../../config.js';
|
|
2
|
+
import { Database } from './db/index.js';
|
|
3
|
+
export type BsyncCursors = {
|
|
4
|
+
op?: string;
|
|
5
|
+
mute?: string;
|
|
6
|
+
notif?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare class BsyncSubscription {
|
|
9
|
+
opts: {
|
|
10
|
+
db: Database;
|
|
11
|
+
config: ServerConfig;
|
|
12
|
+
};
|
|
13
|
+
private ac;
|
|
14
|
+
private pendingScans;
|
|
15
|
+
private bsyncClient;
|
|
16
|
+
private db;
|
|
17
|
+
private cursors;
|
|
18
|
+
constructor(opts: {
|
|
19
|
+
db: Database;
|
|
20
|
+
config: ServerConfig;
|
|
21
|
+
});
|
|
22
|
+
get running(): boolean;
|
|
23
|
+
start(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Waits until the subscription has processed every operation that existed in
|
|
26
|
+
* bsync at the time `targets` was read (one cursor per stream). Returns as
|
|
27
|
+
* soon as the cursors catch up - it does not wait for the bsync long-poll
|
|
28
|
+
* timeout. Intended for tests/dev.
|
|
29
|
+
*/
|
|
30
|
+
processAll(targets: BsyncCursors, timeout?: number): Promise<void>;
|
|
31
|
+
private isCaughtUp;
|
|
32
|
+
destroy(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* starts a scanner in the background, killing it when this instance is
|
|
35
|
+
* destroyed, and storing its promise in `this.pendingScans` to allow
|
|
36
|
+
* awaiting.
|
|
37
|
+
*/
|
|
38
|
+
private startScanning;
|
|
39
|
+
private runScanner;
|
|
40
|
+
private scanMuteOperations;
|
|
41
|
+
private processMuteOperations;
|
|
42
|
+
private scanNotifOperations;
|
|
43
|
+
private processNotifOperations;
|
|
44
|
+
private scanOperations;
|
|
45
|
+
private processOperations;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=bsync-subscription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bsync-subscription.d.ts","sourceRoot":"","sources":["../../../src/data-plane/server/bsync-subscription.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAW9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,qBAAa,iBAAiB;IAQT,IAAI,EAAE;QAAE,EAAE,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE;IAP/D,OAAO,CAAC,EAAE,CAA6B;IACvC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,EAAE,CAAU;IAEpB,OAAO,CAAC,OAAO,CAAmB;IAElC,YAAmB,IAAI,EAAE;QAAE,EAAE,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,EAY9D;IAED,IAAI,OAAO,YAEV;IAED,KAAK,SAMJ;IAED;;;;;OAKG;IACG,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,SAAO,iBAWrD;IAED,OAAO,CAAC,UAAU;IAQZ,OAAO,kBAOZ;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;YAmBP,UAAU;IAuBxB,OAAO,CAAC,kBAAkB;YAcZ,qBAAqB;IA0EnC,OAAO,CAAC,mBAAmB;YAcb,sBAAsB;IAmBpC,OAAO,CAAC,cAAc;YAWR,iBAAiB;CAmChC"}
|