@atcute/tap 0.1.1 → 1.0.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.
- package/dist/dev-index.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/tap-client.d.ts +2 -2
- package/dist/tap-client.d.ts.map +1 -1
- package/dist/tap-client.js +4 -3
- package/dist/tap-client.js.map +1 -1
- package/dist/tap-subscription.d.ts +1 -1
- package/dist/tap-subscription.d.ts.map +1 -1
- package/dist/tap-subscription.js +7 -7
- package/dist/tap-subscription.js.map +1 -1
- package/dist/typedefs.d.ts +148 -115
- package/dist/typedefs.d.ts.map +1 -1
- package/dist/typedefs.js +32 -35
- package/dist/typedefs.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/lib/dev-index.ts +1 -1
- package/lib/index.ts +4 -4
- package/lib/tap-client.ts +12 -7
- package/lib/tap-subscription.ts +15 -12
- package/lib/typedefs.ts +128 -49
- package/package.json +21 -16
- package/dist/types.d.ts +0 -73
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/lib/types.ts +0 -91
package/dist/dev-index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-index.js","sourceRoot":"","sources":["../lib/dev-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAE5D,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC;IAClC,gBAAgB
|
|
1
|
+
{"version":3,"file":"dev-index.js","sourceRoot":"","sources":["../lib/dev-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAE5D,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC;IAClC,gBAAgB;QACf,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IACD,iBAAiB;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IACD,iBAAiB,CAAC,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,GAAG;QACV,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;CACD,CAAC,CAAC;AAEH,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,YAAY,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnB,MAAM,GAAG,EAAE,CAAC;AACb,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { TapClient } from './tap-client.
|
|
2
|
-
export { TapSubscription } from './tap-subscription.
|
|
3
|
-
export * as defs from './typedefs.
|
|
4
|
-
export type * from './
|
|
1
|
+
export { TapClient } from './tap-client.ts';
|
|
2
|
+
export { TapSubscription } from './tap-subscription.ts';
|
|
3
|
+
export * as defs from './typedefs.ts';
|
|
4
|
+
export type * from './typedefs.ts';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,mBAAmB,eAAe,CAAC"}
|
package/dist/tap-client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type DidDocument } from '@atcute/identity';
|
|
2
2
|
import type { Did } from '@atcute/lexicons';
|
|
3
|
-
import { TapSubscription } from './tap-subscription.
|
|
4
|
-
import type
|
|
3
|
+
import { TapSubscription } from './tap-subscription.ts';
|
|
4
|
+
import { type RepoInfo, type TapClientOptions, type TapSubscribeOptions } from './typedefs.ts';
|
|
5
5
|
export declare class TapClient {
|
|
6
6
|
#private;
|
|
7
7
|
constructor(options: TapClientOptions);
|
package/dist/tap-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-client.d.ts","sourceRoot":"","sources":["../lib/tap-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tap-client.d.ts","sourceRoot":"","sources":["../lib/tap-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,MAAM,eAAe,CAAC;AAGvB,qBAAa,SAAS;;IAMrB,YAAY,OAAO,EAAE,gBAAgB,EAcpC;IAED,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,eAAe,CAUxD;IAEK,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzC;IAEK,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5C;IAEK,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAiBtD;IAEK,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAY7C;CAaD"}
|
package/dist/tap-client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defs as identityDefs } from '@atcute/identity';
|
|
2
|
+
import * as v from 'valibot';
|
|
2
3
|
import { TapSubscription } from './tap-subscription.js';
|
|
3
|
-
import { repoInfoSchema } from './typedefs.js';
|
|
4
|
+
import { repoInfoSchema, } from './typedefs.js';
|
|
4
5
|
import { formatAdminAuthHeader } from './utils.js';
|
|
5
6
|
export class TapClient {
|
|
6
7
|
#url;
|
|
@@ -64,7 +65,7 @@ export class TapClient {
|
|
|
64
65
|
await response.body?.cancel();
|
|
65
66
|
throw new Error(`failed to resolve did: ${response.status} ${response.statusText}`);
|
|
66
67
|
}
|
|
67
|
-
return identityDefs.didDocument
|
|
68
|
+
return v.parse(identityDefs.didDocument, await response.json());
|
|
68
69
|
}
|
|
69
70
|
async getRepoInfo(did) {
|
|
70
71
|
const response = await this.#fetch(new URL(`/info/${did}`, this.#url), {
|
|
@@ -75,7 +76,7 @@ export class TapClient {
|
|
|
75
76
|
await response.body?.cancel();
|
|
76
77
|
throw new Error(`failed to get repo info: ${response.status} ${response.statusText}`);
|
|
77
78
|
}
|
|
78
|
-
return
|
|
79
|
+
return v.parse(repoInfoSchema, await response.json());
|
|
79
80
|
}
|
|
80
81
|
#getHeaders() {
|
|
81
82
|
const headers = {
|
package/dist/tap-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-client.js","sourceRoot":"","sources":["../lib/tap-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,YAAY,EAAoB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tap-client.js","sourceRoot":"","sources":["../lib/tap-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventIterator } from '@mary-ext/event-iterator';
|
|
2
2
|
import type { ReadonlyDeep } from 'type-fest';
|
|
3
|
-
import type
|
|
3
|
+
import { type TapSubscribeOptions, type TapSubscriptionMessage } from './typedefs.ts';
|
|
4
4
|
export interface TapSubscriptionOptions extends TapSubscribeOptions {
|
|
5
5
|
url: string;
|
|
6
6
|
adminPassword?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-subscription.d.ts","sourceRoot":"","sources":["../lib/tap-subscription.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tap-subscription.d.ts","sourceRoot":"","sources":["../lib/tap-subscription.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EAIN,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AASD,qBAAa,eAAe;;IAU3B,YAAY,OAAO,EAAE,sBAAsB,EAE1C;IA8JD,CAAC,MAAM,CAAC,aAAa,CAAC,0CAmBrB;IAED,UAAU,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAEjD;IAED,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAQ5D;CACD"}
|
package/dist/tap-subscription.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { decodeUtf8From } from '@atcute/uint8array';
|
|
1
2
|
import { EventIterator } from '@mary-ext/event-iterator';
|
|
2
3
|
import { SimpleEventEmitter } from '@mary-ext/simple-event-emitter';
|
|
3
4
|
import { WebSocket as ReconnectingWebSocket } from 'partysocket';
|
|
4
|
-
import
|
|
5
|
-
import { flattenTapEvent, tapEventWireSchema } from './typedefs.js';
|
|
5
|
+
import * as v from 'valibot';
|
|
6
|
+
import { flattenTapEvent, tapEventWireSchema, } from './typedefs.js';
|
|
6
7
|
import { formatAdminAuthHeader } from './utils.js';
|
|
7
|
-
const PARSE_OPTIONS = { mode: 'passthrough' };
|
|
8
8
|
export class TapSubscription {
|
|
9
9
|
#listening = 0;
|
|
10
10
|
#ws;
|
|
@@ -95,12 +95,12 @@ export class TapSubscription {
|
|
|
95
95
|
}
|
|
96
96
|
let evt;
|
|
97
97
|
if (validateEvents) {
|
|
98
|
-
const result =
|
|
99
|
-
if (!result.
|
|
100
|
-
onError?.(result);
|
|
98
|
+
const result = v.safeParse(tapEventWireSchema, raw);
|
|
99
|
+
if (!result.success) {
|
|
100
|
+
onError?.(new v.ValiError(result.issues));
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
|
-
evt = flattenTapEvent(result.
|
|
103
|
+
evt = flattenTapEvent(result.output);
|
|
104
104
|
}
|
|
105
105
|
else {
|
|
106
106
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap-subscription.js","sourceRoot":"","sources":["../lib/tap-subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tap-subscription.js","sourceRoot":"","sources":["../lib/tap-subscription.ts"],"names":[],"mappings":"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"}
|
package/dist/typedefs.d.ts
CHANGED
|
@@ -1,122 +1,155 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
live: v.
|
|
31
|
-
|
|
1
|
+
import { type Did, type Handle, type Nsid, type RecordKey, type Tid } from '@atcute/lexicons/syntax';
|
|
2
|
+
import type { CloseEvent, ErrorEvent, Options } from 'partysocket/ws';
|
|
3
|
+
import * as v from 'valibot';
|
|
4
|
+
export declare const tapRecordEventWireSchema: v.LooseObjectSchema<{
|
|
5
|
+
readonly id: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
6
|
+
readonly type: v.LiteralSchema<"record", undefined>;
|
|
7
|
+
readonly record: v.VariantSchema<"action", [v.LooseObjectSchema<{
|
|
8
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
9
|
+
readonly rev: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
10
|
+
readonly collection: v.CustomSchema<`${string}.${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
11
|
+
readonly rkey: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
12
|
+
readonly live: v.BooleanSchema<undefined>;
|
|
13
|
+
readonly action: v.LiteralSchema<"create", undefined>;
|
|
14
|
+
readonly cid: v.StringSchema<undefined>;
|
|
15
|
+
readonly record: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
16
|
+
}, undefined>, v.LooseObjectSchema<{
|
|
17
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
18
|
+
readonly rev: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
19
|
+
readonly collection: v.CustomSchema<`${string}.${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
20
|
+
readonly rkey: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
21
|
+
readonly live: v.BooleanSchema<undefined>;
|
|
22
|
+
readonly action: v.LiteralSchema<"update", undefined>;
|
|
23
|
+
readonly cid: v.StringSchema<undefined>;
|
|
24
|
+
readonly record: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
25
|
+
}, undefined>, v.LooseObjectSchema<{
|
|
26
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
27
|
+
readonly rev: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
28
|
+
readonly collection: v.CustomSchema<`${string}.${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
29
|
+
readonly rkey: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
30
|
+
readonly live: v.BooleanSchema<undefined>;
|
|
31
|
+
readonly action: v.LiteralSchema<"delete", undefined>;
|
|
32
|
+
}, undefined>], undefined>;
|
|
32
33
|
}, undefined>;
|
|
33
|
-
export declare const tapIdentityEventWireSchema: v.
|
|
34
|
-
id: v.
|
|
35
|
-
type: v.
|
|
36
|
-
identity: v.
|
|
37
|
-
did: v.
|
|
38
|
-
handle: v.
|
|
39
|
-
is_active: v.
|
|
40
|
-
status: v.
|
|
34
|
+
export declare const tapIdentityEventWireSchema: v.LooseObjectSchema<{
|
|
35
|
+
readonly id: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
36
|
+
readonly type: v.LiteralSchema<"identity", undefined>;
|
|
37
|
+
readonly identity: v.LooseObjectSchema<{
|
|
38
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
39
|
+
readonly handle: v.CustomSchema<`${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
40
|
+
readonly is_active: v.BooleanSchema<undefined>;
|
|
41
|
+
readonly status: v.PicklistSchema<["active", "takendown", "suspended", "deactivated", "deleted"], undefined>;
|
|
41
42
|
}, undefined>;
|
|
42
43
|
}, undefined>;
|
|
43
|
-
export declare const tapEventWireSchema: v.
|
|
44
|
-
id: v.
|
|
45
|
-
type: v.
|
|
46
|
-
record: v.
|
|
47
|
-
did: v.
|
|
48
|
-
rev: v.
|
|
49
|
-
collection: v.
|
|
50
|
-
rkey: v.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}, undefined>, v.
|
|
56
|
-
did: v.
|
|
57
|
-
rev: v.
|
|
58
|
-
collection: v.
|
|
59
|
-
rkey: v.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}, undefined>, v.
|
|
65
|
-
did: v.
|
|
66
|
-
rev: v.
|
|
67
|
-
collection: v.
|
|
68
|
-
rkey: v.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}, undefined>]>;
|
|
72
|
-
}, undefined>, v.
|
|
73
|
-
id: v.
|
|
74
|
-
type: v.
|
|
75
|
-
identity: v.
|
|
76
|
-
did: v.
|
|
77
|
-
handle: v.
|
|
78
|
-
is_active: v.
|
|
79
|
-
status: v.
|
|
44
|
+
export declare const tapEventWireSchema: v.VariantSchema<"type", [v.LooseObjectSchema<{
|
|
45
|
+
readonly id: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
46
|
+
readonly type: v.LiteralSchema<"record", undefined>;
|
|
47
|
+
readonly record: v.VariantSchema<"action", [v.LooseObjectSchema<{
|
|
48
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
49
|
+
readonly rev: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
50
|
+
readonly collection: v.CustomSchema<`${string}.${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
51
|
+
readonly rkey: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
52
|
+
readonly live: v.BooleanSchema<undefined>;
|
|
53
|
+
readonly action: v.LiteralSchema<"create", undefined>;
|
|
54
|
+
readonly cid: v.StringSchema<undefined>;
|
|
55
|
+
readonly record: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
56
|
+
}, undefined>, v.LooseObjectSchema<{
|
|
57
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
58
|
+
readonly rev: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
59
|
+
readonly collection: v.CustomSchema<`${string}.${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
60
|
+
readonly rkey: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
61
|
+
readonly live: v.BooleanSchema<undefined>;
|
|
62
|
+
readonly action: v.LiteralSchema<"update", undefined>;
|
|
63
|
+
readonly cid: v.StringSchema<undefined>;
|
|
64
|
+
readonly record: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
65
|
+
}, undefined>, v.LooseObjectSchema<{
|
|
66
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
67
|
+
readonly rev: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
68
|
+
readonly collection: v.CustomSchema<`${string}.${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
69
|
+
readonly rkey: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
70
|
+
readonly live: v.BooleanSchema<undefined>;
|
|
71
|
+
readonly action: v.LiteralSchema<"delete", undefined>;
|
|
72
|
+
}, undefined>], undefined>;
|
|
73
|
+
}, undefined>, v.LooseObjectSchema<{
|
|
74
|
+
readonly id: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
75
|
+
readonly type: v.LiteralSchema<"identity", undefined>;
|
|
76
|
+
readonly identity: v.LooseObjectSchema<{
|
|
77
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
78
|
+
readonly handle: v.CustomSchema<`${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
79
|
+
readonly is_active: v.BooleanSchema<undefined>;
|
|
80
|
+
readonly status: v.PicklistSchema<["active", "takendown", "suspended", "deactivated", "deleted"], undefined>;
|
|
80
81
|
}, undefined>;
|
|
81
|
-
}, undefined>]>;
|
|
82
|
-
export declare const repoInfoSchema: v.
|
|
83
|
-
|
|
82
|
+
}, undefined>], undefined>;
|
|
83
|
+
export declare const repoInfoSchema: v.LooseObjectSchema<{
|
|
84
|
+
readonly did: v.CustomSchema<`did:${string}:${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
85
|
+
readonly handle: v.CustomSchema<`${string}.${string}`, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
86
|
+
readonly state: v.StringSchema<undefined>;
|
|
87
|
+
readonly rev: v.CustomSchema<string, v.ErrorMessage<v.CustomIssue> | undefined>;
|
|
88
|
+
readonly records: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
89
|
+
readonly error: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
90
|
+
readonly retries: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.SafeIntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
91
|
+
}, undefined>;
|
|
92
|
+
export type RepoInfo = v.InferOutput<typeof repoInfoSchema>;
|
|
93
|
+
export type TapRecordAction = 'create' | 'update' | 'delete';
|
|
94
|
+
export type TapRepoStatus = 'active' | 'takendown' | 'suspended' | 'deactivated' | 'deleted';
|
|
95
|
+
export interface TapRecordBaseEvent {
|
|
84
96
|
id: number;
|
|
85
|
-
type:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
97
|
+
type: 'record';
|
|
98
|
+
live: boolean;
|
|
99
|
+
did: Did;
|
|
100
|
+
rev: Tid;
|
|
101
|
+
collection: Nsid;
|
|
102
|
+
rkey: RecordKey;
|
|
103
|
+
}
|
|
104
|
+
export interface TapRecordCreateEvent extends TapRecordBaseEvent {
|
|
105
|
+
action: 'create';
|
|
106
|
+
cid: string;
|
|
107
|
+
/**
|
|
108
|
+
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
109
|
+
*/
|
|
110
|
+
record?: Record<string, unknown>;
|
|
111
|
+
}
|
|
112
|
+
export interface TapRecordUpdateEvent extends TapRecordBaseEvent {
|
|
113
|
+
action: 'update';
|
|
114
|
+
cid: string;
|
|
115
|
+
/**
|
|
116
|
+
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
117
|
+
*/
|
|
118
|
+
record?: Record<string, unknown>;
|
|
119
|
+
}
|
|
120
|
+
export interface TapRecordDeleteEvent extends TapRecordBaseEvent {
|
|
121
|
+
action: 'delete';
|
|
122
|
+
}
|
|
123
|
+
export type TapRecordEvent = TapRecordCreateEvent | TapRecordUpdateEvent | TapRecordDeleteEvent;
|
|
124
|
+
export interface TapIdentityEvent {
|
|
113
125
|
id: number;
|
|
114
|
-
type:
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
126
|
+
type: 'identity';
|
|
127
|
+
did: Did;
|
|
128
|
+
handle: Handle;
|
|
129
|
+
isActive: boolean;
|
|
130
|
+
status: TapRepoStatus;
|
|
131
|
+
}
|
|
132
|
+
export type TapEvent = TapRecordEvent | TapIdentityEvent;
|
|
133
|
+
export interface TapClientOptions {
|
|
134
|
+
url: string | URL;
|
|
135
|
+
adminPassword?: string;
|
|
136
|
+
fetch?: typeof globalThis.fetch;
|
|
137
|
+
}
|
|
138
|
+
export interface TapSubscribeOptions {
|
|
139
|
+
/**
|
|
140
|
+
* whether to validate incoming events.
|
|
141
|
+
* @default true
|
|
142
|
+
*/
|
|
143
|
+
validateEvents?: boolean;
|
|
144
|
+
onConnectionOpen?: (event: Event) => void;
|
|
145
|
+
onConnectionClose?: (event: CloseEvent) => void;
|
|
146
|
+
onConnectionError?: (event: ErrorEvent) => void;
|
|
147
|
+
onError?: (error: unknown) => void;
|
|
148
|
+
ws?: Options;
|
|
149
|
+
}
|
|
150
|
+
export interface TapSubscriptionMessage {
|
|
151
|
+
event: TapEvent;
|
|
152
|
+
ack: () => Promise<void>;
|
|
153
|
+
}
|
|
154
|
+
export declare const flattenTapEvent: (wire: v.InferOutput<typeof tapEventWireSchema>) => TapEvent;
|
|
122
155
|
//# sourceMappingURL=typedefs.d.ts.map
|
package/dist/typedefs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedefs.d.ts","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"typedefs.d.ts","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"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"}
|
package/dist/typedefs.js
CHANGED
|
@@ -1,67 +1,64 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
const didString = v.
|
|
4
|
-
const handleString = v.
|
|
5
|
-
const nsidString = v.
|
|
6
|
-
const rkeyString = v.
|
|
7
|
-
const tidString = v.
|
|
8
|
-
const integer = v
|
|
9
|
-
|
|
10
|
-
.assert((input) => input >= 0 && Number.isSafeInteger(input), `must be a nonnegative integer`);
|
|
11
|
-
const recordEventCreateDataSchema = v.object({
|
|
1
|
+
import { isDid, isHandle, isNsid, isRecordKey, isTid, } from '@atcute/lexicons/syntax';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
const didString = v.custom(isDid, `must be a did`);
|
|
4
|
+
const handleString = v.custom(isHandle, `must be a handle`);
|
|
5
|
+
const nsidString = v.custom(isNsid, `must be an nsid`);
|
|
6
|
+
const rkeyString = v.custom(isRecordKey, `must be a record key`);
|
|
7
|
+
const tidString = v.custom(isTid, `must be a tid`);
|
|
8
|
+
const integer = v.pipe(v.number(), v.safeInteger(), v.minValue(0));
|
|
9
|
+
const baseRecordEventEntries = {
|
|
12
10
|
did: didString,
|
|
13
11
|
rev: tidString,
|
|
14
12
|
collection: nsidString,
|
|
15
13
|
rkey: rkeyString,
|
|
14
|
+
live: v.boolean(),
|
|
15
|
+
};
|
|
16
|
+
const recordEventCreateDataSchema = v.looseObject({
|
|
17
|
+
...baseRecordEventEntries,
|
|
16
18
|
action: v.literal('create'),
|
|
17
19
|
cid: v.string(),
|
|
18
|
-
record: v.record(v.
|
|
19
|
-
live: v.boolean(),
|
|
20
|
+
record: v.optional(v.record(v.string(), v.unknown())),
|
|
20
21
|
});
|
|
21
|
-
const recordEventUpdateDataSchema = v.
|
|
22
|
-
|
|
23
|
-
rev: tidString,
|
|
24
|
-
collection: nsidString,
|
|
25
|
-
rkey: rkeyString,
|
|
22
|
+
const recordEventUpdateDataSchema = v.looseObject({
|
|
23
|
+
...baseRecordEventEntries,
|
|
26
24
|
action: v.literal('update'),
|
|
27
25
|
cid: v.string(),
|
|
28
|
-
record: v.record(v.
|
|
29
|
-
live: v.boolean(),
|
|
26
|
+
record: v.optional(v.record(v.string(), v.unknown())),
|
|
30
27
|
});
|
|
31
|
-
const recordEventDeleteDataSchema = v.
|
|
32
|
-
|
|
33
|
-
rev: tidString,
|
|
34
|
-
collection: nsidString,
|
|
35
|
-
rkey: rkeyString,
|
|
28
|
+
const recordEventDeleteDataSchema = v.looseObject({
|
|
29
|
+
...baseRecordEventEntries,
|
|
36
30
|
action: v.literal('delete'),
|
|
37
|
-
live: v.boolean(),
|
|
38
31
|
});
|
|
39
|
-
const recordEventDataSchema = v.
|
|
40
|
-
|
|
32
|
+
const recordEventDataSchema = v.variant('action', [
|
|
33
|
+
recordEventCreateDataSchema,
|
|
34
|
+
recordEventUpdateDataSchema,
|
|
35
|
+
recordEventDeleteDataSchema,
|
|
36
|
+
]);
|
|
37
|
+
const identityEventDataSchema = v.looseObject({
|
|
41
38
|
did: didString,
|
|
42
39
|
handle: handleString,
|
|
43
40
|
is_active: v.boolean(),
|
|
44
|
-
status: v.
|
|
41
|
+
status: v.picklist(['active', 'takendown', 'suspended', 'deactivated', 'deleted']),
|
|
45
42
|
});
|
|
46
|
-
export const tapRecordEventWireSchema = v.
|
|
43
|
+
export const tapRecordEventWireSchema = v.looseObject({
|
|
47
44
|
id: integer,
|
|
48
45
|
type: v.literal('record'),
|
|
49
46
|
record: recordEventDataSchema,
|
|
50
47
|
});
|
|
51
|
-
export const tapIdentityEventWireSchema = v.
|
|
48
|
+
export const tapIdentityEventWireSchema = v.looseObject({
|
|
52
49
|
id: integer,
|
|
53
50
|
type: v.literal('identity'),
|
|
54
51
|
identity: identityEventDataSchema,
|
|
55
52
|
});
|
|
56
|
-
export const tapEventWireSchema = v.
|
|
57
|
-
export const repoInfoSchema = v.
|
|
53
|
+
export const tapEventWireSchema = v.variant('type', [tapRecordEventWireSchema, tapIdentityEventWireSchema]);
|
|
54
|
+
export const repoInfoSchema = v.looseObject({
|
|
58
55
|
did: didString,
|
|
59
56
|
handle: handleString,
|
|
60
57
|
state: v.string(),
|
|
61
58
|
rev: tidString,
|
|
62
59
|
records: integer,
|
|
63
|
-
error: v.
|
|
64
|
-
retries:
|
|
60
|
+
error: v.optional(v.string()),
|
|
61
|
+
retries: v.optional(integer),
|
|
65
62
|
});
|
|
66
63
|
export const flattenTapEvent = (wire) => {
|
|
67
64
|
switch (wire.type) {
|
package/dist/typedefs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedefs.js","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"typedefs.js","sourceRoot":"","sources":["../lib/typedefs.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,aAAc,MAAM,KAAG,MAExD,CAAC"}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAU,EAAE
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAU,EAAE;IACjE,OAAO,SAAS,WAAW,CAAC,UAAU,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC"}
|
package/lib/dev-index.ts
CHANGED
package/lib/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { TapClient } from './tap-client.
|
|
2
|
-
export { TapSubscription } from './tap-subscription.
|
|
1
|
+
export { TapClient } from './tap-client.ts';
|
|
2
|
+
export { TapSubscription } from './tap-subscription.ts';
|
|
3
3
|
|
|
4
|
-
export * as defs from './typedefs.
|
|
5
|
-
export type * from './
|
|
4
|
+
export * as defs from './typedefs.ts';
|
|
5
|
+
export type * from './typedefs.ts';
|
package/lib/tap-client.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { defs as identityDefs, type DidDocument } from '@atcute/identity';
|
|
2
|
-
|
|
3
2
|
import type { Did } from '@atcute/lexicons';
|
|
4
3
|
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
4
|
+
import * as v from 'valibot';
|
|
5
|
+
|
|
6
|
+
import { TapSubscription } from './tap-subscription.ts';
|
|
7
|
+
import {
|
|
8
|
+
repoInfoSchema,
|
|
9
|
+
type RepoInfo,
|
|
10
|
+
type TapClientOptions,
|
|
11
|
+
type TapSubscribeOptions,
|
|
12
|
+
} from './typedefs.ts';
|
|
13
|
+
import { formatAdminAuthHeader } from './utils.ts';
|
|
9
14
|
|
|
10
15
|
export class TapClient {
|
|
11
16
|
#url: URL;
|
|
@@ -83,7 +88,7 @@ export class TapClient {
|
|
|
83
88
|
throw new Error(`failed to resolve did: ${response.status} ${response.statusText}`);
|
|
84
89
|
}
|
|
85
90
|
|
|
86
|
-
return identityDefs.didDocument
|
|
91
|
+
return v.parse(identityDefs.didDocument, await response.json());
|
|
87
92
|
}
|
|
88
93
|
|
|
89
94
|
async getRepoInfo(did: Did): Promise<RepoInfo> {
|
|
@@ -97,7 +102,7 @@ export class TapClient {
|
|
|
97
102
|
throw new Error(`failed to get repo info: ${response.status} ${response.statusText}`);
|
|
98
103
|
}
|
|
99
104
|
|
|
100
|
-
return
|
|
105
|
+
return v.parse(repoInfoSchema, await response.json());
|
|
101
106
|
}
|
|
102
107
|
|
|
103
108
|
#getHeaders(): Record<string, string> {
|
package/lib/tap-subscription.ts
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
|
+
import { decodeUtf8From } from '@atcute/uint8array';
|
|
2
|
+
|
|
1
3
|
import { EventIterator } from '@mary-ext/event-iterator';
|
|
2
4
|
import { SimpleEventEmitter } from '@mary-ext/simple-event-emitter';
|
|
3
5
|
import { WebSocket as ReconnectingWebSocket } from 'partysocket';
|
|
4
|
-
|
|
5
6
|
import type { ReadonlyDeep } from 'type-fest';
|
|
7
|
+
import * as v from 'valibot';
|
|
6
8
|
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
import {
|
|
10
|
+
flattenTapEvent,
|
|
11
|
+
tapEventWireSchema,
|
|
12
|
+
type TapEvent,
|
|
13
|
+
type TapSubscribeOptions,
|
|
14
|
+
type TapSubscriptionMessage,
|
|
15
|
+
} from './typedefs.ts';
|
|
16
|
+
import { formatAdminAuthHeader } from './utils.ts';
|
|
12
17
|
|
|
13
18
|
export interface TapSubscriptionOptions extends TapSubscribeOptions {
|
|
14
19
|
url: string;
|
|
@@ -22,8 +27,6 @@ type BufferedAck = {
|
|
|
22
27
|
reject: (reason?: unknown) => void;
|
|
23
28
|
};
|
|
24
29
|
|
|
25
|
-
const PARSE_OPTIONS = { mode: 'passthrough' } as const;
|
|
26
|
-
|
|
27
30
|
export class TapSubscription {
|
|
28
31
|
#listening = 0;
|
|
29
32
|
#ws?: ReconnectingWebSocket;
|
|
@@ -144,13 +147,13 @@ export class TapSubscription {
|
|
|
144
147
|
|
|
145
148
|
let evt: TapEvent;
|
|
146
149
|
if (validateEvents) {
|
|
147
|
-
const result =
|
|
148
|
-
if (!result.
|
|
149
|
-
onError?.(result);
|
|
150
|
+
const result = v.safeParse(tapEventWireSchema, raw);
|
|
151
|
+
if (!result.success) {
|
|
152
|
+
onError?.(new v.ValiError(result.issues));
|
|
150
153
|
return;
|
|
151
154
|
}
|
|
152
155
|
|
|
153
|
-
evt = flattenTapEvent(result.
|
|
156
|
+
evt = flattenTapEvent(result.output);
|
|
154
157
|
} else {
|
|
155
158
|
try {
|
|
156
159
|
evt = flattenTapEvent(raw as any);
|
package/lib/typedefs.ts
CHANGED
|
@@ -1,94 +1,173 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
1
|
+
import {
|
|
2
|
+
isDid,
|
|
3
|
+
isHandle,
|
|
4
|
+
isNsid,
|
|
5
|
+
isRecordKey,
|
|
6
|
+
isTid,
|
|
7
|
+
type Did,
|
|
8
|
+
type Handle,
|
|
9
|
+
type Nsid,
|
|
10
|
+
type RecordKey,
|
|
11
|
+
type Tid,
|
|
12
|
+
} from '@atcute/lexicons/syntax';
|
|
13
|
+
|
|
14
|
+
import type { CloseEvent, ErrorEvent, Options } from 'partysocket/ws';
|
|
15
|
+
import * as v from 'valibot';
|
|
16
|
+
|
|
17
|
+
const didString = v.custom<Did>(isDid, `must be a did`);
|
|
18
|
+
const handleString = v.custom<Handle>(isHandle, `must be a handle`);
|
|
19
|
+
const nsidString = v.custom<Nsid>(isNsid, `must be an nsid`);
|
|
20
|
+
const rkeyString = v.custom<RecordKey>(isRecordKey, `must be a record key`);
|
|
21
|
+
const tidString = v.custom<Tid>(isTid, `must be a tid`);
|
|
22
|
+
|
|
23
|
+
const integer = v.pipe(v.number(), v.safeInteger(), v.minValue(0));
|
|
24
|
+
|
|
25
|
+
const baseRecordEventEntries = {
|
|
18
26
|
did: didString,
|
|
19
27
|
rev: tidString,
|
|
20
28
|
collection: nsidString,
|
|
21
29
|
rkey: rkeyString,
|
|
30
|
+
live: v.boolean(),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const recordEventCreateDataSchema = v.looseObject({
|
|
34
|
+
...baseRecordEventEntries,
|
|
22
35
|
action: v.literal('create'),
|
|
23
36
|
cid: v.string(),
|
|
24
|
-
record: v.record(v.
|
|
25
|
-
live: v.boolean(),
|
|
37
|
+
record: v.optional(v.record(v.string(), v.unknown())),
|
|
26
38
|
});
|
|
27
39
|
|
|
28
|
-
const recordEventUpdateDataSchema = v.
|
|
29
|
-
|
|
30
|
-
rev: tidString,
|
|
31
|
-
collection: nsidString,
|
|
32
|
-
rkey: rkeyString,
|
|
40
|
+
const recordEventUpdateDataSchema = v.looseObject({
|
|
41
|
+
...baseRecordEventEntries,
|
|
33
42
|
action: v.literal('update'),
|
|
34
43
|
cid: v.string(),
|
|
35
|
-
record: v.record(v.
|
|
36
|
-
live: v.boolean(),
|
|
44
|
+
record: v.optional(v.record(v.string(), v.unknown())),
|
|
37
45
|
});
|
|
38
46
|
|
|
39
|
-
const recordEventDeleteDataSchema = v.
|
|
40
|
-
|
|
41
|
-
rev: tidString,
|
|
42
|
-
collection: nsidString,
|
|
43
|
-
rkey: rkeyString,
|
|
47
|
+
const recordEventDeleteDataSchema = v.looseObject({
|
|
48
|
+
...baseRecordEventEntries,
|
|
44
49
|
action: v.literal('delete'),
|
|
45
|
-
live: v.boolean(),
|
|
46
50
|
});
|
|
47
51
|
|
|
48
|
-
const recordEventDataSchema = v.
|
|
52
|
+
const recordEventDataSchema = v.variant('action', [
|
|
49
53
|
recordEventCreateDataSchema,
|
|
50
54
|
recordEventUpdateDataSchema,
|
|
51
55
|
recordEventDeleteDataSchema,
|
|
52
|
-
);
|
|
56
|
+
]);
|
|
53
57
|
|
|
54
|
-
const identityEventDataSchema = v.
|
|
58
|
+
const identityEventDataSchema = v.looseObject({
|
|
55
59
|
did: didString,
|
|
56
60
|
handle: handleString,
|
|
57
61
|
is_active: v.boolean(),
|
|
58
|
-
status: v.
|
|
59
|
-
v.literal('active'),
|
|
60
|
-
v.literal('takendown'),
|
|
61
|
-
v.literal('suspended'),
|
|
62
|
-
v.literal('deactivated'),
|
|
63
|
-
v.literal('deleted'),
|
|
64
|
-
),
|
|
62
|
+
status: v.picklist(['active', 'takendown', 'suspended', 'deactivated', 'deleted']),
|
|
65
63
|
});
|
|
66
64
|
|
|
67
|
-
export const tapRecordEventWireSchema = v.
|
|
65
|
+
export const tapRecordEventWireSchema = v.looseObject({
|
|
68
66
|
id: integer,
|
|
69
67
|
type: v.literal('record'),
|
|
70
68
|
record: recordEventDataSchema,
|
|
71
69
|
});
|
|
72
70
|
|
|
73
|
-
export const tapIdentityEventWireSchema = v.
|
|
71
|
+
export const tapIdentityEventWireSchema = v.looseObject({
|
|
74
72
|
id: integer,
|
|
75
73
|
type: v.literal('identity'),
|
|
76
74
|
identity: identityEventDataSchema,
|
|
77
75
|
});
|
|
78
76
|
|
|
79
|
-
export const tapEventWireSchema = v.
|
|
77
|
+
export const tapEventWireSchema = v.variant('type', [tapRecordEventWireSchema, tapIdentityEventWireSchema]);
|
|
80
78
|
|
|
81
|
-
export const repoInfoSchema
|
|
79
|
+
export const repoInfoSchema = v.looseObject({
|
|
82
80
|
did: didString,
|
|
83
81
|
handle: handleString,
|
|
84
82
|
state: v.string(),
|
|
85
83
|
rev: tidString,
|
|
86
84
|
records: integer,
|
|
87
|
-
error: v.
|
|
88
|
-
retries:
|
|
85
|
+
error: v.optional(v.string()),
|
|
86
|
+
retries: v.optional(integer),
|
|
89
87
|
});
|
|
90
88
|
|
|
91
|
-
export
|
|
89
|
+
export type RepoInfo = v.InferOutput<typeof repoInfoSchema>;
|
|
90
|
+
|
|
91
|
+
export type TapRecordAction = 'create' | 'update' | 'delete';
|
|
92
|
+
|
|
93
|
+
export type TapRepoStatus = 'active' | 'takendown' | 'suspended' | 'deactivated' | 'deleted';
|
|
94
|
+
|
|
95
|
+
export interface TapRecordBaseEvent {
|
|
96
|
+
id: number;
|
|
97
|
+
type: 'record';
|
|
98
|
+
|
|
99
|
+
live: boolean;
|
|
100
|
+
did: Did;
|
|
101
|
+
rev: Tid;
|
|
102
|
+
collection: Nsid;
|
|
103
|
+
rkey: RecordKey;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export interface TapRecordCreateEvent extends TapRecordBaseEvent {
|
|
107
|
+
action: 'create';
|
|
108
|
+
cid: string;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
112
|
+
*/
|
|
113
|
+
record?: Record<string, unknown>;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export interface TapRecordUpdateEvent extends TapRecordBaseEvent {
|
|
117
|
+
action: 'update';
|
|
118
|
+
cid: string;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
122
|
+
*/
|
|
123
|
+
record?: Record<string, unknown>;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface TapRecordDeleteEvent extends TapRecordBaseEvent {
|
|
127
|
+
action: 'delete';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export type TapRecordEvent = TapRecordCreateEvent | TapRecordUpdateEvent | TapRecordDeleteEvent;
|
|
131
|
+
|
|
132
|
+
export interface TapIdentityEvent {
|
|
133
|
+
id: number;
|
|
134
|
+
type: 'identity';
|
|
135
|
+
|
|
136
|
+
did: Did;
|
|
137
|
+
handle: Handle;
|
|
138
|
+
isActive: boolean;
|
|
139
|
+
status: TapRepoStatus;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export type TapEvent = TapRecordEvent | TapIdentityEvent;
|
|
143
|
+
|
|
144
|
+
export interface TapClientOptions {
|
|
145
|
+
url: string | URL;
|
|
146
|
+
adminPassword?: string;
|
|
147
|
+
fetch?: typeof globalThis.fetch;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface TapSubscribeOptions {
|
|
151
|
+
/**
|
|
152
|
+
* whether to validate incoming events.
|
|
153
|
+
* @default true
|
|
154
|
+
*/
|
|
155
|
+
validateEvents?: boolean;
|
|
156
|
+
|
|
157
|
+
onConnectionOpen?: (event: Event) => void;
|
|
158
|
+
onConnectionClose?: (event: CloseEvent) => void;
|
|
159
|
+
onConnectionError?: (event: ErrorEvent) => void;
|
|
160
|
+
onError?: (error: unknown) => void;
|
|
161
|
+
|
|
162
|
+
ws?: Options;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface TapSubscriptionMessage {
|
|
166
|
+
event: TapEvent;
|
|
167
|
+
ack: () => Promise<void>;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export const flattenTapEvent = (wire: v.InferOutput<typeof tapEventWireSchema>): TapEvent => {
|
|
92
171
|
switch (wire.type) {
|
|
93
172
|
case 'identity': {
|
|
94
173
|
return {
|
package/package.json
CHANGED
|
@@ -1,43 +1,48 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
2
|
"name": "@atcute/tap",
|
|
4
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
5
4
|
"description": "an atproto Tap client",
|
|
6
5
|
"license": "0BSD",
|
|
7
6
|
"repository": {
|
|
8
7
|
"url": "https://github.com/mary-ext/atcute",
|
|
9
8
|
"directory": "packages/clients/tap"
|
|
10
9
|
},
|
|
11
|
-
"publishConfig": {
|
|
12
|
-
"access": "public"
|
|
13
|
-
},
|
|
14
10
|
"files": [
|
|
15
11
|
"dist/",
|
|
16
12
|
"lib/",
|
|
17
13
|
"!lib/**/*.bench.ts",
|
|
18
|
-
"!lib/**/*.test.ts"
|
|
14
|
+
"!lib/**/*.test.ts",
|
|
15
|
+
"!dist/**/*.{test,bench}.*"
|
|
19
16
|
],
|
|
17
|
+
"type": "module",
|
|
20
18
|
"exports": {
|
|
21
19
|
".": "./dist/index.js"
|
|
22
20
|
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
23
24
|
"dependencies": {
|
|
24
|
-
"@badrap/valita": "^0.4.6",
|
|
25
25
|
"@mary-ext/event-iterator": "^1.0.0",
|
|
26
|
-
"@mary-ext/simple-event-emitter": "^1.0.
|
|
27
|
-
"partysocket": "^1.1.
|
|
26
|
+
"@mary-ext/simple-event-emitter": "^1.0.1",
|
|
27
|
+
"partysocket": "^1.1.18",
|
|
28
28
|
"type-fest": "^4.41.0",
|
|
29
|
-
"
|
|
30
|
-
"@atcute/
|
|
31
|
-
"@atcute/
|
|
32
|
-
"@atcute/
|
|
29
|
+
"valibot": "^1.4.0",
|
|
30
|
+
"@atcute/identity": "^2.0.0",
|
|
31
|
+
"@atcute/lexicons": "^2.0.0",
|
|
32
|
+
"@atcute/uint8array": "^1.1.1",
|
|
33
|
+
"@atcute/multibase": "^1.2.0"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@types/ws": "^8.18.1",
|
|
36
|
-
"vitest": "^4.
|
|
37
|
-
"ws": "^8.
|
|
37
|
+
"vitest": "^4.1.5",
|
|
38
|
+
"ws": "^8.20.0"
|
|
39
|
+
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"@atcute/identity": "^2.0.0",
|
|
42
|
+
"@atcute/lexicons": "^2.0.0"
|
|
38
43
|
},
|
|
39
44
|
"scripts": {
|
|
40
|
-
"build": "tsgo
|
|
45
|
+
"build": "tsgo",
|
|
41
46
|
"test": "vitest run",
|
|
42
47
|
"prepublish": "rm -rf dist; pnpm run build"
|
|
43
48
|
}
|
package/dist/types.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { Did, Handle, Nsid, RecordKey, Tid } from '@atcute/lexicons/syntax';
|
|
2
|
-
import type { CloseEvent, ErrorEvent, Options } from 'partysocket/ws';
|
|
3
|
-
export type TapRecordAction = 'create' | 'update' | 'delete';
|
|
4
|
-
export type TapRepoStatus = 'active' | 'takendown' | 'suspended' | 'deactivated' | 'deleted';
|
|
5
|
-
export interface TapRecordBaseEvent {
|
|
6
|
-
id: number;
|
|
7
|
-
type: 'record';
|
|
8
|
-
live: boolean;
|
|
9
|
-
did: Did;
|
|
10
|
-
rev: Tid;
|
|
11
|
-
collection: Nsid;
|
|
12
|
-
rkey: RecordKey;
|
|
13
|
-
}
|
|
14
|
-
export interface TapRecordCreateEvent extends TapRecordBaseEvent {
|
|
15
|
-
action: 'create';
|
|
16
|
-
cid: string;
|
|
17
|
-
/**
|
|
18
|
-
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
19
|
-
*/
|
|
20
|
-
record?: Record<string, unknown>;
|
|
21
|
-
}
|
|
22
|
-
export interface TapRecordUpdateEvent extends TapRecordBaseEvent {
|
|
23
|
-
action: 'update';
|
|
24
|
-
cid: string;
|
|
25
|
-
/**
|
|
26
|
-
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
27
|
-
*/
|
|
28
|
-
record?: Record<string, unknown>;
|
|
29
|
-
}
|
|
30
|
-
export interface TapRecordDeleteEvent extends TapRecordBaseEvent {
|
|
31
|
-
action: 'delete';
|
|
32
|
-
}
|
|
33
|
-
export type TapRecordEvent = TapRecordCreateEvent | TapRecordUpdateEvent | TapRecordDeleteEvent;
|
|
34
|
-
export interface TapIdentityEvent {
|
|
35
|
-
id: number;
|
|
36
|
-
type: 'identity';
|
|
37
|
-
did: Did;
|
|
38
|
-
handle: Handle;
|
|
39
|
-
isActive: boolean;
|
|
40
|
-
status: TapRepoStatus;
|
|
41
|
-
}
|
|
42
|
-
export type TapEvent = TapRecordEvent | TapIdentityEvent;
|
|
43
|
-
export interface RepoInfo {
|
|
44
|
-
did: Did;
|
|
45
|
-
handle: Handle;
|
|
46
|
-
state: string;
|
|
47
|
-
rev: Tid;
|
|
48
|
-
records: number;
|
|
49
|
-
error?: string;
|
|
50
|
-
retries?: number;
|
|
51
|
-
}
|
|
52
|
-
export interface TapClientOptions {
|
|
53
|
-
url: string | URL;
|
|
54
|
-
adminPassword?: string;
|
|
55
|
-
fetch?: typeof globalThis.fetch;
|
|
56
|
-
}
|
|
57
|
-
export interface TapSubscribeOptions {
|
|
58
|
-
/**
|
|
59
|
-
* whether to validate incoming events.
|
|
60
|
-
* @default true
|
|
61
|
-
*/
|
|
62
|
-
validateEvents?: boolean;
|
|
63
|
-
onConnectionOpen?: (event: Event) => void;
|
|
64
|
-
onConnectionClose?: (event: CloseEvent) => void;
|
|
65
|
-
onConnectionError?: (event: ErrorEvent) => void;
|
|
66
|
-
onError?: (error: unknown) => void;
|
|
67
|
-
ws?: Options;
|
|
68
|
-
}
|
|
69
|
-
export interface TapSubscriptionMessage {
|
|
70
|
-
event: TapEvent;
|
|
71
|
-
ack: () => Promise<void>;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAE7F,MAAM,WAAW,kBAAkB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IAEf,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC/D,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC/D,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC/D,MAAM,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAEhG,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IAEjB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEzD,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnC,EAAE,CAAC,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
|
package/dist/types.js
DELETED
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":""}
|
package/lib/types.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import type { Did, Handle, Nsid, RecordKey, Tid } from '@atcute/lexicons/syntax';
|
|
2
|
-
import type { CloseEvent, ErrorEvent, Options } from 'partysocket/ws';
|
|
3
|
-
|
|
4
|
-
export type TapRecordAction = 'create' | 'update' | 'delete';
|
|
5
|
-
|
|
6
|
-
export type TapRepoStatus = 'active' | 'takendown' | 'suspended' | 'deactivated' | 'deleted';
|
|
7
|
-
|
|
8
|
-
export interface TapRecordBaseEvent {
|
|
9
|
-
id: number;
|
|
10
|
-
type: 'record';
|
|
11
|
-
|
|
12
|
-
live: boolean;
|
|
13
|
-
did: Did;
|
|
14
|
-
rev: Tid;
|
|
15
|
-
collection: Nsid;
|
|
16
|
-
rkey: RecordKey;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export interface TapRecordCreateEvent extends TapRecordBaseEvent {
|
|
20
|
-
action: 'create';
|
|
21
|
-
cid: string;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
25
|
-
*/
|
|
26
|
-
record?: Record<string, unknown>;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface TapRecordUpdateEvent extends TapRecordBaseEvent {
|
|
30
|
-
action: 'update';
|
|
31
|
-
cid: string;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* record may be omitted if tap fails to decode the record body but still has a cid.
|
|
35
|
-
*/
|
|
36
|
-
record?: Record<string, unknown>;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export interface TapRecordDeleteEvent extends TapRecordBaseEvent {
|
|
40
|
-
action: 'delete';
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export type TapRecordEvent = TapRecordCreateEvent | TapRecordUpdateEvent | TapRecordDeleteEvent;
|
|
44
|
-
|
|
45
|
-
export interface TapIdentityEvent {
|
|
46
|
-
id: number;
|
|
47
|
-
type: 'identity';
|
|
48
|
-
|
|
49
|
-
did: Did;
|
|
50
|
-
handle: Handle;
|
|
51
|
-
isActive: boolean;
|
|
52
|
-
status: TapRepoStatus;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export type TapEvent = TapRecordEvent | TapIdentityEvent;
|
|
56
|
-
|
|
57
|
-
export interface RepoInfo {
|
|
58
|
-
did: Did;
|
|
59
|
-
handle: Handle;
|
|
60
|
-
state: string;
|
|
61
|
-
rev: Tid;
|
|
62
|
-
records: number;
|
|
63
|
-
error?: string;
|
|
64
|
-
retries?: number;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface TapClientOptions {
|
|
68
|
-
url: string | URL;
|
|
69
|
-
adminPassword?: string;
|
|
70
|
-
fetch?: typeof globalThis.fetch;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface TapSubscribeOptions {
|
|
74
|
-
/**
|
|
75
|
-
* whether to validate incoming events.
|
|
76
|
-
* @default true
|
|
77
|
-
*/
|
|
78
|
-
validateEvents?: boolean;
|
|
79
|
-
|
|
80
|
-
onConnectionOpen?: (event: Event) => void;
|
|
81
|
-
onConnectionClose?: (event: CloseEvent) => void;
|
|
82
|
-
onConnectionError?: (event: ErrorEvent) => void;
|
|
83
|
-
onError?: (error: unknown) => void;
|
|
84
|
-
|
|
85
|
-
ws?: Options;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface TapSubscriptionMessage {
|
|
89
|
-
event: TapEvent;
|
|
90
|
-
ack: () => Promise<void>;
|
|
91
|
-
}
|