@atproto/sync 0.1.15 → 0.1.17

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 CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atproto/sync
2
2
 
3
+ ## 0.1.17
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3599](https://github.com/bluesky-social/atproto/pull/3599) [`b20907a70`](https://github.com/bluesky-social/atproto/commit/b20907a7056970ab627e6c661882cb16491801e2) Thanks [@mozzius](https://github.com/mozzius)! - Fix types of `FirehoseOptions`
8
+
9
+ - [`d96b03956`](https://github.com/bluesky-social/atproto/commit/d96b03956d5c26c238f586c6bdf257c080f12746) Thanks [@devinivy](https://github.com/devinivy)! - Support firehose sync event
10
+
11
+ ## 0.1.16
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [[`850e39843`](https://github.com/bluesky-social/atproto/commit/850e39843cb0ec9ea716675f7568c0c601f45e29)]:
16
+ - @atproto/syntax@0.3.4
17
+ - @atproto/lexicon@0.4.8
18
+ - @atproto/repo@0.7.1
19
+ - @atproto/xrpc-server@0.7.12
20
+
3
21
  ## 0.1.15
4
22
 
5
23
  ### Patch Changes
package/dist/events.d.ts CHANGED
@@ -3,7 +3,7 @@ import { DidDocument } from '@atproto/identity';
3
3
  import type { RepoRecord } from '@atproto/lexicon';
4
4
  import { BlockMap } from '@atproto/repo';
5
5
  import { AtUri } from '@atproto/syntax';
6
- export type Event = CommitEvt | IdentityEvt | AccountEvt;
6
+ export type Event = CommitEvt | SyncEvt | IdentityEvt | AccountEvt;
7
7
  export type CommitMeta = {
8
8
  seq: number;
9
9
  time: string;
@@ -29,6 +29,15 @@ export type Update = CommitMeta & {
29
29
  export type Delete = CommitMeta & {
30
30
  event: 'delete';
31
31
  };
32
+ export type SyncEvt = {
33
+ seq: number;
34
+ time: string;
35
+ event: 'sync';
36
+ did: string;
37
+ cid: CID;
38
+ rev: string;
39
+ blocks: BlockMap;
40
+ };
32
41
  export type IdentityEvt = {
33
42
  seq: number;
34
43
  time: string;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAA;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;IACX,MAAM,EAAE,QAAQ,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,KAAK,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,KAAK,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,WAAW,GACX,SAAS,GACT,aAAa,CAAA"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;AAElE,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;IACX,MAAM,EAAE,QAAQ,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,KAAK,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,UAAU,CAAA;IAClB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG;IAChC,KAAK,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,WAAW,GACX,SAAS,GACT,aAAa,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import type { ClientOptions } from 'ws';
2
2
  import { IdResolver } from '@atproto/identity';
3
- import { AccountEvt, CommitEvt, Event, IdentityEvt } from '../events';
3
+ import { AccountEvt, CommitEvt, Event, IdentityEvt, SyncEvt } from '../events';
4
4
  import { EventRunner } from '../runner';
5
- import { type Account, type Commit, type Identity, type RepoEvent } from './lexicons';
5
+ import { type Account, type Commit, type Identity, type RepoEvent, type Sync } from './lexicons';
6
6
  export type FirehoseOptions = ClientOptions & {
7
7
  idResolver: IdResolver;
8
8
  handleEvent: (evt: Event) => Awaited<void>;
@@ -17,6 +17,7 @@ export type FirehoseOptions = ClientOptions & {
17
17
  excludeIdentity?: boolean;
18
18
  excludeAccount?: boolean;
19
19
  excludeCommit?: boolean;
20
+ excludeSync?: boolean;
20
21
  };
21
22
  export declare class Firehose {
22
23
  opts: FirehoseOptions;
@@ -31,6 +32,7 @@ export declare class Firehose {
31
32
  }
32
33
  export declare const parseCommitAuthenticated: (idResolver: IdResolver, evt: Commit, filterCollections?: string[], forceKeyRefresh?: boolean) => Promise<CommitEvt[]>;
33
34
  export declare const parseCommitUnauthenticated: (evt: Commit, filterCollections?: string[]) => Promise<CommitEvt[]>;
35
+ export declare const parseSync: (evt: Sync) => Promise<SyncEvt | null>;
34
36
  export declare const parseIdentity: (idResolver: IdResolver, evt: Identity, unauthenticated?: boolean) => Promise<IdentityEvt | null>;
35
37
  export declare const parseAccount: (evt: Account) => AccountEvt | undefined;
36
38
  export declare class FirehoseValidationError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/firehose/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAEvC,OAAO,EAEL,UAAU,EAEX,MAAM,mBAAmB,CAAA;AAW1B,OAAO,EACL,UAAU,EAEV,SAAS,EAET,KAAK,EACL,WAAW,EACZ,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,SAAS,EAMf,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,UAAU,EAAE,UAAU,CAAA;IAEtB,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAE7C,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0BAA0B,CAAC,EAAE,MAAM,CAAA;IAEnC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,qBAAa,QAAQ;IAKA,IAAI,EAAE,eAAe;IAJxC,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAY;gBAEb,IAAI,EAAE,eAAe;IA8BlC,KAAK;YAiCG,QAAQ;YA6BR,UAAU;IAWlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAED,eAAO,MAAM,wBAAwB,eACvB,UAAU,OACjB,MAAM,sBACS,MAAM,EAAE,gCAE3B,OAAO,CAAC,SAAS,EAAE,CAoCrB,CAAA;AAED,eAAO,MAAM,0BAA0B,QAChC,MAAM,sBACS,MAAM,EAAE,KAC3B,OAAO,CAAC,SAAS,EAAE,CAGrB,CAAA;AAyDD,eAAO,MAAM,aAAa,eACZ,UAAU,OACjB,QAAQ,gCAEZ,OAAO,CAAC,WAAW,GAAG,IAAI,CAe5B,CAAA;AAeD,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,UAAU,GAAG,SAUxD,CAAA;AAMD,qBAAa,uBAAwB,SAAQ,KAAK;IAGvC,KAAK,EAAE,OAAO;gBADrB,GAAG,EAAE,OAAO,EACL,KAAK,EAAE,OAAO;CAIxB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAGlC,KAAK,EAAE,SAAS;gBADvB,GAAG,EAAE,OAAO,EACL,KAAK,EAAE,SAAS;CAI1B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,GAAG,EAAE,OAAO;CAGzB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAGpC,KAAK,EAAE,KAAK;gBADnB,GAAG,EAAE,OAAO,EACL,KAAK,EAAE,KAAK;CAItB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/firehose/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAEvC,OAAO,EAEL,UAAU,EAEX,MAAM,mBAAmB,CAAA;AAY1B,OAAO,EACL,UAAU,EAEV,SAAS,EAET,KAAK,EACL,WAAW,EACX,OAAO,EACR,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,IAAI,EAMV,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,UAAU,EAAE,UAAU,CAAA;IAEtB,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAE7C,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0BAA0B,CAAC,EAAE,MAAM,CAAA;IAEnC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,qBAAa,QAAQ;IAKA,IAAI,EAAE,eAAe;IAJxC,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAY;gBAEb,IAAI,EAAE,eAAe;IA8BlC,KAAK;YAiCG,QAAQ;YAgCR,UAAU;IAWlB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B;AAED,eAAO,MAAM,wBAAwB,eACvB,UAAU,OACjB,MAAM,sBACS,MAAM,EAAE,gCAE3B,OAAO,CAAC,SAAS,EAAE,CAoCrB,CAAA;AAED,eAAO,MAAM,0BAA0B,QAChC,MAAM,sBACS,MAAM,EAAE,KAC3B,OAAO,CAAC,SAAS,EAAE,CAGrB,CAAA;AAyDD,eAAO,MAAM,SAAS,QAAe,IAAI,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAYjE,CAAA;AAED,eAAO,MAAM,aAAa,eACZ,UAAU,OACjB,QAAQ,gCAEZ,OAAO,CAAC,WAAW,GAAG,IAAI,CAe5B,CAAA;AAeD,eAAO,MAAM,YAAY,QAAS,OAAO,KAAG,UAAU,GAAG,SAUxD,CAAA;AAMD,qBAAa,uBAAwB,SAAQ,KAAK;IAGvC,KAAK,EAAE,OAAO;gBADrB,GAAG,EAAE,OAAO,EACL,KAAK,EAAE,OAAO;CAIxB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAGlC,KAAK,EAAE,SAAS;gBADvB,GAAG,EAAE,OAAO,EACL,KAAK,EAAE,SAAS;CAI1B;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,GAAG,EAAE,OAAO;CAGzB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAGpC,KAAK,EAAE,KAAK;gBADnB,GAAG,EAAE,OAAO,EACL,KAAK,EAAE,KAAK;CAItB"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FirehoseHandlerError = exports.FirehoseSubscriptionError = exports.FirehoseParseError = exports.FirehoseValidationError = exports.parseAccount = exports.parseIdentity = exports.parseCommitUnauthenticated = exports.parseCommitAuthenticated = exports.Firehose = void 0;
3
+ exports.FirehoseHandlerError = exports.FirehoseSubscriptionError = exports.FirehoseParseError = exports.FirehoseValidationError = exports.parseAccount = exports.parseIdentity = exports.parseSync = exports.parseCommitUnauthenticated = exports.parseCommitAuthenticated = exports.Firehose = void 0;
4
4
  const common_1 = require("@atproto/common");
5
5
  const identity_1 = require("@atproto/identity");
6
6
  const repo_1 = require("@atproto/repo");
@@ -112,6 +112,10 @@ class Firehose {
112
112
  const parsed = await (0, exports.parseIdentity)(this.opts.idResolver, evt, this.opts.unauthenticatedHandles);
113
113
  return parsed ? [parsed] : [];
114
114
  }
115
+ else if ((0, lexicons_1.isSync)(evt) && !this.opts.excludeSync) {
116
+ const parsed = await (0, exports.parseSync)(evt);
117
+ return parsed ? [parsed] : [];
118
+ }
115
119
  else {
116
120
  return [];
117
121
  }
@@ -230,6 +234,19 @@ const formatCommitOps = async (evt, ops) => {
230
234
  }
231
235
  return evts;
232
236
  };
237
+ const parseSync = async (evt) => {
238
+ const car = await (0, repo_1.readCarWithRoot)(evt.blocks);
239
+ return {
240
+ event: 'sync',
241
+ seq: evt.seq,
242
+ time: evt.time,
243
+ did: evt.did,
244
+ cid: car.root,
245
+ rev: evt.rev,
246
+ blocks: car.blocks,
247
+ };
248
+ };
249
+ exports.parseSync = parseSync;
233
250
  const parseIdentity = async (idResolver, evt, unauthenticated = false) => {
234
251
  const res = await idResolver.did.resolve(evt.did);
235
252
  const handle = res && !unauthenticated
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/firehose/index.ts"],"names":[],"mappings":";;;AAEA,4CAAoE;AACpE,gDAI0B;AAC1B,wCAOsB;AACtB,4CAAuC;AACvC,sDAAmD;AAUnD,kCAAyC;AACzC,yCAUmB;AAuBnB,MAAa,QAAQ;IAKnB,YAAmB,IAAqB;QAA5B;;;;mBAAO,IAAI;WAAiB;QAJhC;;;;;WAA4B;QAC5B;;;;;WAAgC;QAChC;;;;;WAAwB;QAG9B,IAAI,CAAC,YAAY,GAAG,IAAA,yBAAgB,GAAE,CAAA;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,0BAAY,CAAC;YAC1B,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,oBAAoB;YAC7C,MAAM,EAAE,iCAAiC;YACzC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;YACnC,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,WAAW,GAAG,GAAG,EAAE,CACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;gBACtD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,SAAS,CAAA;gBAClB,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAA;gBAClC,OAAO,EAAE,MAAM,EAAE,CAAA;YACnB,CAAC;YACD,QAAQ,EAAE,CAAC,KAAc,EAAE,EAAE;gBAC3B,IAAI,CAAC;oBACH,OAAO,IAAA,2BAAgB,EAAC,KAAK,CAAC,CAAA;gBAChC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC5D,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,GAAG,CAAC,CAAA;oBACnC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,SAAQ;oBACV,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;wBAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;wBACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BAC3B,IAAI,CAAC;gCACH,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;4BACpC,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;4BACzD,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,YAAY,EAAE,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;gBAC3B,OAAM;YACR,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAA;YACrD,MAAM,IAAA,aAAI,EAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,CAAA;YACxD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,GAAc;QACnC,IAAI,CAAC;YACH,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB;oBACrC,CAAC,CAAC,MAAM,IAAA,kCAA0B,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACpE,CAAC,CAAC,MAAM,IAAA,gCAAwB,EAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAC5B,CAAA;YACP,CAAC;iBAAM,IAAI,IAAA,oBAAS,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAA;gBAChC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/B,CAAC;iBAAM,IAAI,IAAA,qBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,EAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,sBAAsB,CACjC,CAAA;gBACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YACnD,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAc;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAA;IAClC,CAAC;CACF;AAhHD,4BAgHC;AAEM,MAAM,wBAAwB,GAAG,KAAK,EAC3C,UAAsB,EACtB,GAAW,EACX,iBAA4B,EAC5B,eAAe,GAAG,KAAK,EACD,EAAE;IACxB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAA;IACpB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;IACtD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC5B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAY,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAClD,OAAO;YACL,UAAU;YACV,IAAI;YACJ,GAAG,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;SAC5C,CAAA;IACH,CAAC,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IACxE,MAAM,YAAY,GAA+B,EAAE,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAY,EAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YAClD,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,4BAAqB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7D,OAAO,IAAA,gCAAwB,EAAC,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IACD,MAAM,WAAW,GAAa,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC9C,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAC1C,CAAC,CAAA;AAzCY,QAAA,wBAAwB,4BAyCpC;AAEM,MAAM,0BAA0B,GAAG,KAAK,EAC7C,GAAW,EACX,iBAA4B,EACN,EAAE;IACxB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;IACtD,OAAO,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC,CAAA;AANY,QAAA,0BAA0B,8BAMtC;AAED,MAAM,cAAc,GAAG,CACrB,GAAa,EACb,iBAA4B,EAClB,EAAE;IACZ,IAAI,CAAC,iBAAiB;QAAE,OAAO,GAAG,CAAA;IAClC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACvB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAY,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAC5C,OAAO,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,GAAa,EAAE,EAAE;IAC3D,MAAM,GAAG,GAAG,MAAM,IAAA,cAAO,EAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAErC,MAAM,IAAI,GAAgB,EAAE,CAAA;IAE5B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,cAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAe;YACvB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,GAAG;YACH,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAA;QAED,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC,GAAG;gBAAE,SAAQ;YACrB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YAC1C,IAAI,CAAC,WAAW;gBAAE,SAAQ;YAC1B,MAAM,MAAM,GAAG,IAAA,sBAAe,EAAC,WAAW,CAAC,CAAA;YAC3C,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,IAAI;gBACP,KAAK,EAAE,EAAE,CAAC,MAA6B;gBACvC,GAAG,EAAE,EAAE,CAAC,GAAG;gBACX,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC;gBACR,GAAG,IAAI;gBACP,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAEM,MAAM,aAAa,GAAG,KAAK,EAChC,UAAsB,EACtB,GAAa,EACb,eAAe,GAAG,KAAK,EACM,EAAE;IAC/B,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjD,MAAM,MAAM,GACV,GAAG,IAAI,CAAC,eAAe;QACrB,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO;QACL,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM;QACN,WAAW,EAAE,GAAG,IAAI,SAAS;KAC9B,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,aAAa,iBAmBzB;AAED,MAAM,YAAY,GAAG,KAAK,EACxB,UAAsB,EACtB,GAAW,EACX,MAAmB,EACU,EAAE;IAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAA;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACzC,CAAC,CAAA;AAEM,MAAM,YAAY,GAAG,CAAC,GAAY,EAA0B,EAAE;IACnE,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAM;IACpD,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAmC;KAChD,CAAA;AACH,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB;AAED,MAAM,aAAa,GAAG,CAAC,GAAW,EAAwB,EAAE;IAC1D,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC3E,CAAC,CAAA;AAED,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YACE,GAAY,EACL,KAAc;QAErB,KAAK,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QAFnE;;;;mBAAO,KAAK;WAAS;IAGvB,CAAC;CACF;AAPD,0DAOC;AAED,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YACE,GAAY,EACL,KAAgB;QAEvB,KAAK,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QAF3E;;;;mBAAO,KAAK;WAAW;IAGzB,CAAC;CACF;AAPD,gDAOC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,GAAY;QACtB,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACzD,CAAC;CACF;AAJD,8DAIC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YACE,GAAY,EACL,KAAY;QAEnB,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QAFxD;;;;mBAAO,KAAK;WAAO;IAGrB,CAAC;CACF;AAPD,oDAOC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/firehose/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export interface QueryParams {
8
8
  /** The last known event seq number to backfill from. */
9
9
  cursor?: number;
10
10
  }
11
- export type RepoEvent = Commit | Identity | Account | Handle | Migrate | Tombstone | Info | {
11
+ export type RepoEvent = Commit | Identity | Account | Sync | Info | {
12
12
  $type: string;
13
13
  [k: string]: unknown;
14
14
  };
@@ -48,6 +48,21 @@ export interface Commit {
48
48
  [k: string]: unknown;
49
49
  }
50
50
  export declare function isCommit(v: unknown): v is Commit;
51
+ /** Updates the repo to a new state, without necessarily including that state on the firehose. Used to recover from broken commit streams, data loss incidents, or in situations where upstream host does not know recent state of the repository. */
52
+ export interface Sync {
53
+ $type?: 'com.atproto.sync.subscribeRepos#sync';
54
+ /** The stream sequence number of this message. */
55
+ seq: number;
56
+ /** The account this repo event corresponds to. Must match that in the commit object. */
57
+ did: string;
58
+ /** CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'. */
59
+ blocks: Uint8Array;
60
+ /** The rev of the commit. This value must match that in the commit object. */
61
+ rev: string;
62
+ /** Timestamp of when this message was originally broadcast. */
63
+ time: string;
64
+ }
65
+ export declare function isSync(v: unknown): v is Sync;
51
66
  /** Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache. */
52
67
  export interface Identity {
53
68
  seq: number;
@@ -70,32 +85,6 @@ export interface Account {
70
85
  [k: string]: unknown;
71
86
  }
72
87
  export declare function isAccount(v: unknown): v is Account;
73
- /** DEPRECATED -- Use #identity event instead */
74
- export interface Handle {
75
- seq: number;
76
- did: string;
77
- handle: string;
78
- time: string;
79
- [k: string]: unknown;
80
- }
81
- export declare function isHandle(v: unknown): v is Handle;
82
- /** DEPRECATED -- Use #account event instead */
83
- export interface Migrate {
84
- seq: number;
85
- did: string;
86
- migrateTo: string | null;
87
- time: string;
88
- [k: string]: unknown;
89
- }
90
- export declare function isMigrate(v: unknown): v is Migrate;
91
- /** DEPRECATED -- Use #account event instead */
92
- export interface Tombstone {
93
- seq: number;
94
- did: string;
95
- time: string;
96
- [k: string]: unknown;
97
- }
98
- export declare function isTombstone(v: unknown): v is Tombstone;
99
88
  export interface Info {
100
89
  name: 'OutdatedCursor' | string;
101
90
  message?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lexicons.d.ts","sourceRoot":"","sources":["../../src/firehose/lexicons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexicons.d.ts","sourceRoot":"","sources":["../../src/firehose/lexicons.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,9 @@ exports.isValidRepoEvent = exports.ComAtprotoSyncSubscribeRepos = void 0;
4
4
  exports.isObj = isObj;
5
5
  exports.hasProp = hasProp;
6
6
  exports.isCommit = isCommit;
7
+ exports.isSync = isSync;
7
8
  exports.isIdentity = isIdentity;
8
9
  exports.isAccount = isAccount;
9
- exports.isHandle = isHandle;
10
- exports.isMigrate = isMigrate;
11
- exports.isTombstone = isTombstone;
12
10
  exports.isInfo = isInfo;
13
11
  exports.isRepoOp = isRepoOp;
14
12
  const lexicon_1 = require("@atproto/lexicon");
@@ -24,6 +22,11 @@ function isCommit(v) {
24
22
  hasProp(v, '$type') &&
25
23
  v.$type === 'com.atproto.sync.subscribeRepos#commit');
26
24
  }
25
+ function isSync(v) {
26
+ return (isObj(v) &&
27
+ hasProp(v, '$type') &&
28
+ v.$type === 'com.atproto.sync.subscribeRepos#sync');
29
+ }
27
30
  function isIdentity(v) {
28
31
  return (isObj(v) &&
29
32
  hasProp(v, '$type') &&
@@ -34,21 +37,6 @@ function isAccount(v) {
34
37
  hasProp(v, '$type') &&
35
38
  v.$type === 'com.atproto.sync.subscribeRepos#account');
36
39
  }
37
- function isHandle(v) {
38
- return (isObj(v) &&
39
- hasProp(v, '$type') &&
40
- v.$type === 'com.atproto.sync.subscribeRepos#handle');
41
- }
42
- function isMigrate(v) {
43
- return (isObj(v) &&
44
- hasProp(v, '$type') &&
45
- v.$type === 'com.atproto.sync.subscribeRepos#migrate');
46
- }
47
- function isTombstone(v) {
48
- return (isObj(v) &&
49
- hasProp(v, '$type') &&
50
- v.$type === 'com.atproto.sync.subscribeRepos#tombstone');
51
- }
52
40
  function isInfo(v) {
53
41
  return (isObj(v) &&
54
42
  hasProp(v, '$type') &&
@@ -65,13 +53,13 @@ exports.ComAtprotoSyncSubscribeRepos = {
65
53
  defs: {
66
54
  main: {
67
55
  type: 'subscription',
68
- description: 'Subscribe to repo updates',
56
+ description: 'Repository event stream, aka Firehose endpoint. Outputs repo commits with diff data, and identity update events, for all repositories on the current server. See the atproto specifications for details around stream sequencing, repo versioning, CAR diff format, and more. Public and does not require auth; implemented by PDS and Relay.',
69
57
  parameters: {
70
58
  type: 'params',
71
59
  properties: {
72
60
  cursor: {
73
61
  type: 'integer',
74
- description: 'The last known event to backfill from.',
62
+ description: 'The last known event seq number to backfill from.',
75
63
  },
76
64
  },
77
65
  },
@@ -80,9 +68,9 @@ exports.ComAtprotoSyncSubscribeRepos = {
80
68
  type: 'union',
81
69
  refs: [
82
70
  'lex:com.atproto.sync.subscribeRepos#commit',
83
- 'lex:com.atproto.sync.subscribeRepos#handle',
84
- 'lex:com.atproto.sync.subscribeRepos#migrate',
85
- 'lex:com.atproto.sync.subscribeRepos#tombstone',
71
+ 'lex:com.atproto.sync.subscribeRepos#sync',
72
+ 'lex:com.atproto.sync.subscribeRepos#identity',
73
+ 'lex:com.atproto.sync.subscribeRepos#account',
86
74
  'lex:com.atproto.sync.subscribeRepos#info',
87
75
  ],
88
76
  },
@@ -93,11 +81,13 @@ exports.ComAtprotoSyncSubscribeRepos = {
93
81
  },
94
82
  {
95
83
  name: 'ConsumerTooSlow',
84
+ description: 'If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection.',
96
85
  },
97
86
  ],
98
87
  },
99
88
  commit: {
100
89
  type: 'object',
90
+ description: 'Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature.',
101
91
  required: [
102
92
  'seq',
103
93
  'rebase',
@@ -111,45 +101,50 @@ exports.ComAtprotoSyncSubscribeRepos = {
111
101
  'blobs',
112
102
  'time',
113
103
  ],
114
- nullable: ['prev', 'since'],
104
+ nullable: ['since'],
115
105
  properties: {
116
106
  seq: {
117
107
  type: 'integer',
108
+ description: 'The stream sequence number of this message.',
118
109
  },
119
110
  rebase: {
120
111
  type: 'boolean',
112
+ description: 'DEPRECATED -- unused',
121
113
  },
122
114
  tooBig: {
123
115
  type: 'boolean',
116
+ description: 'DEPRECATED -- replaced by #sync event and data limits. Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data.',
124
117
  },
125
118
  repo: {
126
119
  type: 'string',
127
120
  format: 'did',
121
+ description: "The repo this event comes from. Note that all other message types name this field 'did'.",
128
122
  },
129
123
  commit: {
130
124
  type: 'cid-link',
131
- },
132
- prev: {
133
- type: 'cid-link',
125
+ description: 'Repo commit object CID.',
134
126
  },
135
127
  rev: {
136
128
  type: 'string',
137
- description: 'The rev of the emitted commit',
129
+ format: 'tid',
130
+ description: 'The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event.',
138
131
  },
139
132
  since: {
140
133
  type: 'string',
141
- description: 'The rev of the last emitted commit from this repo',
134
+ format: 'tid',
135
+ description: 'The rev of the last emitted commit from this repo (if any).',
142
136
  },
143
137
  blocks: {
144
138
  type: 'bytes',
145
- description: 'CAR file containing relevant blocks',
146
- maxLength: 1000000,
139
+ description: "CAR file containing relevant blocks, as a diff since the previous repo state. The commit must be included as a block, and the commit block CID must be the first entry in the CAR header 'roots' list.",
140
+ maxLength: 2000000,
147
141
  },
148
142
  ops: {
149
143
  type: 'array',
150
144
  items: {
151
145
  type: 'ref',
152
146
  ref: 'lex:com.atproto.sync.subscribeRepos#repoOp',
147
+ description: 'List of repo mutation operations in this commit (eg, records created, updated, or deleted).',
153
148
  },
154
149
  maxLength: 200,
155
150
  },
@@ -157,39 +152,54 @@ exports.ComAtprotoSyncSubscribeRepos = {
157
152
  type: 'array',
158
153
  items: {
159
154
  type: 'cid-link',
155
+ description: 'DEPRECATED -- will soon always be empty. List of new blobs (by CID) referenced by records in this commit.',
160
156
  },
161
157
  },
158
+ prevData: {
159
+ type: 'cid-link',
160
+ description: "The root CID of the MST tree for the previous commit from this repo (indicated by the 'since' revision field in this message). Corresponds to the 'data' field in the repo commit object. NOTE: this field is effectively required for the 'inductive' version of firehose.",
161
+ },
162
162
  time: {
163
163
  type: 'string',
164
164
  format: 'datetime',
165
+ description: 'Timestamp of when this message was originally broadcast.',
165
166
  },
166
167
  },
167
168
  },
168
- handle: {
169
+ sync: {
169
170
  type: 'object',
170
- required: ['seq', 'did', 'handle', 'time'],
171
+ description: 'Updates the repo to a new state, without necessarily including that state on the firehose. Used to recover from broken commit streams, data loss incidents, or in situations where upstream host does not know recent state of the repository.',
172
+ required: ['seq', 'did', 'blocks', 'rev', 'time'],
171
173
  properties: {
172
174
  seq: {
173
175
  type: 'integer',
176
+ description: 'The stream sequence number of this message.',
174
177
  },
175
178
  did: {
176
179
  type: 'string',
177
180
  format: 'did',
181
+ description: 'The account this repo event corresponds to. Must match that in the commit object.',
178
182
  },
179
- handle: {
183
+ blocks: {
184
+ type: 'bytes',
185
+ description: "CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'.",
186
+ maxLength: 10000,
187
+ },
188
+ rev: {
180
189
  type: 'string',
181
- format: 'handle',
190
+ description: 'The rev of the commit. This value must match that in the commit object.',
182
191
  },
183
192
  time: {
184
193
  type: 'string',
185
194
  format: 'datetime',
195
+ description: 'Timestamp of when this message was originally broadcast.',
186
196
  },
187
197
  },
188
198
  },
189
- migrate: {
199
+ identity: {
190
200
  type: 'object',
191
- required: ['seq', 'did', 'migrateTo', 'time'],
192
- nullable: ['migrateTo'],
201
+ description: "Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache.",
202
+ required: ['seq', 'did', 'time'],
193
203
  properties: {
194
204
  seq: {
195
205
  type: 'integer',
@@ -198,18 +208,21 @@ exports.ComAtprotoSyncSubscribeRepos = {
198
208
  type: 'string',
199
209
  format: 'did',
200
210
  },
201
- migrateTo: {
202
- type: 'string',
203
- },
204
211
  time: {
205
212
  type: 'string',
206
213
  format: 'datetime',
207
214
  },
215
+ handle: {
216
+ type: 'string',
217
+ format: 'handle',
218
+ description: "The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details.",
219
+ },
208
220
  },
209
221
  },
210
- tombstone: {
222
+ account: {
211
223
  type: 'object',
212
- required: ['seq', 'did', 'time'],
224
+ description: "Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active.",
225
+ required: ['seq', 'did', 'time', 'active'],
213
226
  properties: {
214
227
  seq: {
215
228
  type: 'integer',
@@ -222,6 +235,22 @@ exports.ComAtprotoSyncSubscribeRepos = {
222
235
  type: 'string',
223
236
  format: 'datetime',
224
237
  },
238
+ active: {
239
+ type: 'boolean',
240
+ description: 'Indicates that the account has a repository which can be fetched from the host that emitted this event.',
241
+ },
242
+ status: {
243
+ type: 'string',
244
+ description: 'If active=false, this optional field indicates a reason for why the account is not active.',
245
+ knownValues: [
246
+ 'takendown',
247
+ 'suspended',
248
+ 'deleted',
249
+ 'deactivated',
250
+ 'desynchronized',
251
+ 'throttled',
252
+ ],
253
+ },
225
254
  },
226
255
  },
227
256
  info: {
@@ -239,7 +268,7 @@ exports.ComAtprotoSyncSubscribeRepos = {
239
268
  },
240
269
  repoOp: {
241
270
  type: 'object',
242
- description: "A repo operation, ie a write of a single record. For creates and updates, cid is the record's CID as of this operation. For deletes, it's null.",
271
+ description: 'A repo operation, ie a mutation of a single record.',
243
272
  required: ['action', 'path', 'cid'],
244
273
  nullable: ['cid'],
245
274
  properties: {
@@ -252,6 +281,11 @@ exports.ComAtprotoSyncSubscribeRepos = {
252
281
  },
253
282
  cid: {
254
283
  type: 'cid-link',
284
+ description: 'For creates and updates, the new record CID. For deletions, null.',
285
+ },
286
+ prev: {
287
+ type: 'cid-link',
288
+ description: 'For updates and deletes, the previous record CID (required for inductive firehose). For creations, field should not be defined.',
255
289
  },
256
290
  },
257
291
  },
@@ -1 +1 @@
1
- {"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../../src/firehose/lexicons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../../src/firehose/lexicons.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export interface EventRunner {
2
2
  getCursor(): Awaited<number | undefined>;
3
- trackEvent(did: string, seq: number, hanlder: () => Promise<void>): Promise<void>;
3
+ trackEvent(did: string, seq: number, handler: () => Promise<void>): Promise<void>;
4
4
  }
5
5
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmC,MAAM,qBAAqB,CAAA;AAEhF,eAAO,MAAM,eAAe,QACrB,SAAS,KACb;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAKjC,CAAA"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,qBAAqB,CAAA;AAE5B,eAAO,MAAM,eAAe,QACrB,SAAS,KACb;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAKjC,CAAA"}
package/dist/util.js CHANGED
@@ -5,7 +5,7 @@ const lexicons_1 = require("./firehose/lexicons");
5
5
  const didAndSeqForEvt = (evt) => {
6
6
  if ((0, lexicons_1.isCommit)(evt))
7
7
  return { seq: evt.seq, did: evt.repo };
8
- else if ((0, lexicons_1.isAccount)(evt) || (0, lexicons_1.isIdentity)(evt))
8
+ else if ((0, lexicons_1.isAccount)(evt) || (0, lexicons_1.isIdentity)(evt) || (0, lexicons_1.isSync)(evt))
9
9
  return { seq: evt.seq, did: evt.did };
10
10
  return undefined;
11
11
  };
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,kDAAgF;AAEzE,MAAM,eAAe,GAAG,CAC7B,GAAc,EAC4B,EAAE;IAC5C,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;SACpD,IAAI,IAAA,oBAAS,EAAC,GAAG,CAAC,IAAI,IAAA,qBAAU,EAAC,GAAG,CAAC;QACxC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;IACvC,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,kDAM4B;AAErB,MAAM,eAAe,GAAG,CAC7B,GAAc,EAC4B,EAAE;IAC5C,IAAI,IAAA,mBAAQ,EAAC,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;SACpD,IAAI,IAAA,oBAAS,EAAC,GAAG,CAAC,IAAI,IAAA,qBAAU,EAAC,GAAG,CAAC,IAAI,IAAA,iBAAM,EAAC,GAAG,CAAC;QACvD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;IACvC,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/sync",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "license": "MIT",
5
5
  "description": "atproto sync library",
6
6
  "keywords": [
@@ -26,12 +26,13 @@
26
26
  "ws": "^8.12.0",
27
27
  "@atproto/common": "^0.4.8",
28
28
  "@atproto/identity": "^0.4.6",
29
- "@atproto/lexicon": "^0.4.7",
30
- "@atproto/repo": "^0.7.0",
31
- "@atproto/syntax": "^0.3.3",
32
- "@atproto/xrpc-server": "^0.7.11"
29
+ "@atproto/lexicon": "^0.4.8",
30
+ "@atproto/repo": "^0.7.1",
31
+ "@atproto/syntax": "^0.3.4",
32
+ "@atproto/xrpc-server": "^0.7.12"
33
33
  },
34
34
  "devDependencies": {
35
+ "@types/ws": "^8.5.4",
35
36
  "jest": "^28.1.2",
36
37
  "typescript": "^5.6.3"
37
38
  },
package/src/events.ts CHANGED
@@ -4,7 +4,7 @@ import type { RepoRecord } from '@atproto/lexicon'
4
4
  import { BlockMap } from '@atproto/repo'
5
5
  import { AtUri } from '@atproto/syntax'
6
6
 
7
- export type Event = CommitEvt | IdentityEvt | AccountEvt
7
+ export type Event = CommitEvt | SyncEvt | IdentityEvt | AccountEvt
8
8
 
9
9
  export type CommitMeta = {
10
10
  seq: number
@@ -36,6 +36,16 @@ export type Delete = CommitMeta & {
36
36
  event: 'delete'
37
37
  }
38
38
 
39
+ export type SyncEvt = {
40
+ seq: number
41
+ time: string
42
+ event: 'sync'
43
+ did: string
44
+ cid: CID
45
+ rev: string
46
+ blocks: BlockMap
47
+ }
48
+
39
49
  export type IdentityEvt = {
40
50
  seq: number
41
51
  time: string
@@ -12,6 +12,7 @@ import {
12
12
  formatDataKey,
13
13
  parseDataKey,
14
14
  readCar,
15
+ readCarWithRoot,
15
16
  verifyProofs,
16
17
  } from '@atproto/repo'
17
18
  import { AtUri } from '@atproto/syntax'
@@ -23,6 +24,7 @@ import {
23
24
  CommitMeta,
24
25
  Event,
25
26
  IdentityEvt,
27
+ SyncEvt,
26
28
  } from '../events'
27
29
  import { EventRunner } from '../runner'
28
30
  import { didAndSeqForEvt } from '../util'
@@ -32,9 +34,11 @@ import {
32
34
  type Identity,
33
35
  type RepoEvent,
34
36
  RepoOp,
37
+ type Sync,
35
38
  isAccount,
36
39
  isCommit,
37
40
  isIdentity,
41
+ isSync,
38
42
  isValidRepoEvent,
39
43
  } from './lexicons'
40
44
 
@@ -57,6 +61,7 @@ export type FirehoseOptions = ClientOptions & {
57
61
  excludeIdentity?: boolean
58
62
  excludeAccount?: boolean
59
63
  excludeCommit?: boolean
64
+ excludeSync?: boolean
60
65
  }
61
66
 
62
67
  export class Firehose {
@@ -147,6 +152,9 @@ export class Firehose {
147
152
  this.opts.unauthenticatedHandles,
148
153
  )
149
154
  return parsed ? [parsed] : []
155
+ } else if (isSync(evt) && !this.opts.excludeSync) {
156
+ const parsed = await parseSync(evt)
157
+ return parsed ? [parsed] : []
150
158
  } else {
151
159
  return []
152
160
  }
@@ -279,6 +287,20 @@ const formatCommitOps = async (evt: Commit, ops: RepoOp[]) => {
279
287
  return evts
280
288
  }
281
289
 
290
+ export const parseSync = async (evt: Sync): Promise<SyncEvt | null> => {
291
+ const car = await readCarWithRoot(evt.blocks)
292
+
293
+ return {
294
+ event: 'sync',
295
+ seq: evt.seq,
296
+ time: evt.time,
297
+ did: evt.did,
298
+ cid: car.root,
299
+ rev: evt.rev,
300
+ blocks: car.blocks,
301
+ }
302
+ }
303
+
282
304
  export const parseIdentity = async (
283
305
  idResolver: IdResolver,
284
306
  evt: Identity,
@@ -25,9 +25,7 @@ export type RepoEvent =
25
25
  | Commit
26
26
  | Identity
27
27
  | Account
28
- | Handle
29
- | Migrate
30
- | Tombstone
28
+ | Sync
31
29
  | Info
32
30
  | { $type: string; [k: string]: unknown }
33
31
  export type HandlerError = ErrorFrame<'FutureCursor' | 'ConsumerTooSlow'>
@@ -77,6 +75,29 @@ export function isCommit(v: unknown): v is Commit {
77
75
  )
78
76
  }
79
77
 
78
+ /** Updates the repo to a new state, without necessarily including that state on the firehose. Used to recover from broken commit streams, data loss incidents, or in situations where upstream host does not know recent state of the repository. */
79
+ export interface Sync {
80
+ $type?: 'com.atproto.sync.subscribeRepos#sync'
81
+ /** The stream sequence number of this message. */
82
+ seq: number
83
+ /** The account this repo event corresponds to. Must match that in the commit object. */
84
+ did: string
85
+ /** CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'. */
86
+ blocks: Uint8Array
87
+ /** The rev of the commit. This value must match that in the commit object. */
88
+ rev: string
89
+ /** Timestamp of when this message was originally broadcast. */
90
+ time: string
91
+ }
92
+
93
+ export function isSync(v: unknown): v is Sync {
94
+ return (
95
+ isObj(v) &&
96
+ hasProp(v, '$type') &&
97
+ v.$type === 'com.atproto.sync.subscribeRepos#sync'
98
+ )
99
+ }
100
+
80
101
  /** Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache. */
81
102
  export interface Identity {
82
103
  seq: number
@@ -115,56 +136,6 @@ export function isAccount(v: unknown): v is Account {
115
136
  )
116
137
  }
117
138
 
118
- /** DEPRECATED -- Use #identity event instead */
119
- export interface Handle {
120
- seq: number
121
- did: string
122
- handle: string
123
- time: string
124
- [k: string]: unknown
125
- }
126
-
127
- export function isHandle(v: unknown): v is Handle {
128
- return (
129
- isObj(v) &&
130
- hasProp(v, '$type') &&
131
- v.$type === 'com.atproto.sync.subscribeRepos#handle'
132
- )
133
- }
134
-
135
- /** DEPRECATED -- Use #account event instead */
136
- export interface Migrate {
137
- seq: number
138
- did: string
139
- migrateTo: string | null
140
- time: string
141
- [k: string]: unknown
142
- }
143
-
144
- export function isMigrate(v: unknown): v is Migrate {
145
- return (
146
- isObj(v) &&
147
- hasProp(v, '$type') &&
148
- v.$type === 'com.atproto.sync.subscribeRepos#migrate'
149
- )
150
- }
151
-
152
- /** DEPRECATED -- Use #account event instead */
153
- export interface Tombstone {
154
- seq: number
155
- did: string
156
- time: string
157
- [k: string]: unknown
158
- }
159
-
160
- export function isTombstone(v: unknown): v is Tombstone {
161
- return (
162
- isObj(v) &&
163
- hasProp(v, '$type') &&
164
- v.$type === 'com.atproto.sync.subscribeRepos#tombstone'
165
- )
166
- }
167
-
168
139
  export interface Info {
169
140
  name: 'OutdatedCursor' | string
170
141
  message?: string
@@ -202,13 +173,14 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
202
173
  defs: {
203
174
  main: {
204
175
  type: 'subscription',
205
- description: 'Subscribe to repo updates',
176
+ description:
177
+ 'Repository event stream, aka Firehose endpoint. Outputs repo commits with diff data, and identity update events, for all repositories on the current server. See the atproto specifications for details around stream sequencing, repo versioning, CAR diff format, and more. Public and does not require auth; implemented by PDS and Relay.',
206
178
  parameters: {
207
179
  type: 'params',
208
180
  properties: {
209
181
  cursor: {
210
182
  type: 'integer',
211
- description: 'The last known event to backfill from.',
183
+ description: 'The last known event seq number to backfill from.',
212
184
  },
213
185
  },
214
186
  },
@@ -217,9 +189,9 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
217
189
  type: 'union',
218
190
  refs: [
219
191
  'lex:com.atproto.sync.subscribeRepos#commit',
220
- 'lex:com.atproto.sync.subscribeRepos#handle',
221
- 'lex:com.atproto.sync.subscribeRepos#migrate',
222
- 'lex:com.atproto.sync.subscribeRepos#tombstone',
192
+ 'lex:com.atproto.sync.subscribeRepos#sync',
193
+ 'lex:com.atproto.sync.subscribeRepos#identity',
194
+ 'lex:com.atproto.sync.subscribeRepos#account',
223
195
  'lex:com.atproto.sync.subscribeRepos#info',
224
196
  ],
225
197
  },
@@ -230,11 +202,15 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
230
202
  },
231
203
  {
232
204
  name: 'ConsumerTooSlow',
205
+ description:
206
+ 'If the consumer of the stream can not keep up with events, and a backlog gets too large, the server will drop the connection.',
233
207
  },
234
208
  ],
235
209
  },
236
210
  commit: {
237
211
  type: 'object',
212
+ description:
213
+ 'Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature.',
238
214
  required: [
239
215
  'seq',
240
216
  'rebase',
@@ -248,45 +224,56 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
248
224
  'blobs',
249
225
  'time',
250
226
  ],
251
- nullable: ['prev', 'since'],
227
+ nullable: ['since'],
252
228
  properties: {
253
229
  seq: {
254
230
  type: 'integer',
231
+ description: 'The stream sequence number of this message.',
255
232
  },
256
233
  rebase: {
257
234
  type: 'boolean',
235
+ description: 'DEPRECATED -- unused',
258
236
  },
259
237
  tooBig: {
260
238
  type: 'boolean',
239
+ description:
240
+ 'DEPRECATED -- replaced by #sync event and data limits. Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data.',
261
241
  },
262
242
  repo: {
263
243
  type: 'string',
264
244
  format: 'did',
245
+ description:
246
+ "The repo this event comes from. Note that all other message types name this field 'did'.",
265
247
  },
266
248
  commit: {
267
249
  type: 'cid-link',
268
- },
269
- prev: {
270
- type: 'cid-link',
250
+ description: 'Repo commit object CID.',
271
251
  },
272
252
  rev: {
273
253
  type: 'string',
274
- description: 'The rev of the emitted commit',
254
+ format: 'tid',
255
+ description:
256
+ 'The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event.',
275
257
  },
276
258
  since: {
277
259
  type: 'string',
278
- description: 'The rev of the last emitted commit from this repo',
260
+ format: 'tid',
261
+ description:
262
+ 'The rev of the last emitted commit from this repo (if any).',
279
263
  },
280
264
  blocks: {
281
265
  type: 'bytes',
282
- description: 'CAR file containing relevant blocks',
283
- maxLength: 1000000,
266
+ description:
267
+ "CAR file containing relevant blocks, as a diff since the previous repo state. The commit must be included as a block, and the commit block CID must be the first entry in the CAR header 'roots' list.",
268
+ maxLength: 2000000,
284
269
  },
285
270
  ops: {
286
271
  type: 'array',
287
272
  items: {
288
273
  type: 'ref',
289
274
  ref: 'lex:com.atproto.sync.subscribeRepos#repoOp',
275
+ description:
276
+ 'List of repo mutation operations in this commit (eg, records created, updated, or deleted).',
290
277
  },
291
278
  maxLength: 200,
292
279
  },
@@ -294,39 +281,63 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
294
281
  type: 'array',
295
282
  items: {
296
283
  type: 'cid-link',
284
+ description:
285
+ 'DEPRECATED -- will soon always be empty. List of new blobs (by CID) referenced by records in this commit.',
297
286
  },
298
287
  },
288
+ prevData: {
289
+ type: 'cid-link',
290
+ description:
291
+ "The root CID of the MST tree for the previous commit from this repo (indicated by the 'since' revision field in this message). Corresponds to the 'data' field in the repo commit object. NOTE: this field is effectively required for the 'inductive' version of firehose.",
292
+ },
299
293
  time: {
300
294
  type: 'string',
301
295
  format: 'datetime',
296
+ description:
297
+ 'Timestamp of when this message was originally broadcast.',
302
298
  },
303
299
  },
304
300
  },
305
- handle: {
301
+ sync: {
306
302
  type: 'object',
307
- required: ['seq', 'did', 'handle', 'time'],
303
+ description:
304
+ 'Updates the repo to a new state, without necessarily including that state on the firehose. Used to recover from broken commit streams, data loss incidents, or in situations where upstream host does not know recent state of the repository.',
305
+ required: ['seq', 'did', 'blocks', 'rev', 'time'],
308
306
  properties: {
309
307
  seq: {
310
308
  type: 'integer',
309
+ description: 'The stream sequence number of this message.',
311
310
  },
312
311
  did: {
313
312
  type: 'string',
314
313
  format: 'did',
314
+ description:
315
+ 'The account this repo event corresponds to. Must match that in the commit object.',
315
316
  },
316
- handle: {
317
+ blocks: {
318
+ type: 'bytes',
319
+ description:
320
+ "CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'.",
321
+ maxLength: 10000,
322
+ },
323
+ rev: {
317
324
  type: 'string',
318
- format: 'handle',
325
+ description:
326
+ 'The rev of the commit. This value must match that in the commit object.',
319
327
  },
320
328
  time: {
321
329
  type: 'string',
322
330
  format: 'datetime',
331
+ description:
332
+ 'Timestamp of when this message was originally broadcast.',
323
333
  },
324
334
  },
325
335
  },
326
- migrate: {
336
+ identity: {
327
337
  type: 'object',
328
- required: ['seq', 'did', 'migrateTo', 'time'],
329
- nullable: ['migrateTo'],
338
+ description:
339
+ "Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache.",
340
+ required: ['seq', 'did', 'time'],
330
341
  properties: {
331
342
  seq: {
332
343
  type: 'integer',
@@ -335,18 +346,23 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
335
346
  type: 'string',
336
347
  format: 'did',
337
348
  },
338
- migrateTo: {
339
- type: 'string',
340
- },
341
349
  time: {
342
350
  type: 'string',
343
351
  format: 'datetime',
344
352
  },
353
+ handle: {
354
+ type: 'string',
355
+ format: 'handle',
356
+ description:
357
+ "The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details.",
358
+ },
345
359
  },
346
360
  },
347
- tombstone: {
361
+ account: {
348
362
  type: 'object',
349
- required: ['seq', 'did', 'time'],
363
+ description:
364
+ "Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active.",
365
+ required: ['seq', 'did', 'time', 'active'],
350
366
  properties: {
351
367
  seq: {
352
368
  type: 'integer',
@@ -359,6 +375,24 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
359
375
  type: 'string',
360
376
  format: 'datetime',
361
377
  },
378
+ active: {
379
+ type: 'boolean',
380
+ description:
381
+ 'Indicates that the account has a repository which can be fetched from the host that emitted this event.',
382
+ },
383
+ status: {
384
+ type: 'string',
385
+ description:
386
+ 'If active=false, this optional field indicates a reason for why the account is not active.',
387
+ knownValues: [
388
+ 'takendown',
389
+ 'suspended',
390
+ 'deleted',
391
+ 'deactivated',
392
+ 'desynchronized',
393
+ 'throttled',
394
+ ],
395
+ },
362
396
  },
363
397
  },
364
398
  info: {
@@ -376,8 +410,7 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
376
410
  },
377
411
  repoOp: {
378
412
  type: 'object',
379
- description:
380
- "A repo operation, ie a write of a single record. For creates and updates, cid is the record's CID as of this operation. For deletes, it's null.",
413
+ description: 'A repo operation, ie a mutation of a single record.',
381
414
  required: ['action', 'path', 'cid'],
382
415
  nullable: ['cid'],
383
416
  properties: {
@@ -390,6 +423,13 @@ export const ComAtprotoSyncSubscribeRepos: LexiconDoc = {
390
423
  },
391
424
  cid: {
392
425
  type: 'cid-link',
426
+ description:
427
+ 'For creates and updates, the new record CID. For deletions, null.',
428
+ },
429
+ prev: {
430
+ type: 'cid-link',
431
+ description:
432
+ 'For updates and deletes, the previous record CID (required for inductive firehose). For creations, field should not be defined.',
393
433
  },
394
434
  },
395
435
  },
@@ -3,6 +3,6 @@ export interface EventRunner {
3
3
  trackEvent(
4
4
  did: string,
5
5
  seq: number,
6
- hanlder: () => Promise<void>,
6
+ handler: () => Promise<void>,
7
7
  ): Promise<void>
8
8
  }
package/src/util.ts CHANGED
@@ -1,10 +1,16 @@
1
- import { RepoEvent, isAccount, isCommit, isIdentity } from './firehose/lexicons'
1
+ import {
2
+ RepoEvent,
3
+ isAccount,
4
+ isCommit,
5
+ isIdentity,
6
+ isSync,
7
+ } from './firehose/lexicons'
2
8
 
3
9
  export const didAndSeqForEvt = (
4
10
  evt: RepoEvent,
5
11
  ): { did: string; seq: number } | undefined => {
6
12
  if (isCommit(evt)) return { seq: evt.seq, did: evt.repo }
7
- else if (isAccount(evt) || isIdentity(evt))
13
+ else if (isAccount(evt) || isIdentity(evt) || isSync(evt))
8
14
  return { seq: evt.seq, did: evt.did }
9
15
  return undefined
10
16
  }
@@ -60,7 +60,7 @@ describe('firehose', () => {
60
60
  let alice: string
61
61
 
62
62
  it('reads events from firehose', async () => {
63
- const evtsPromise = createAndReadFirehose(5)
63
+ const evtsPromise = createAndReadFirehose(6)
64
64
  await wait(10) // give the websocket just a second to spin up
65
65
  const aliceRes = await sc.createAccount('alice', {
66
66
  handle: 'alice.test',
@@ -73,7 +73,7 @@ describe('firehose', () => {
73
73
  await sc.post(alice, 'three')
74
74
 
75
75
  const evts = await evtsPromise
76
- expect(evts.length).toBe(5)
76
+ expect(evts.length).toBe(6)
77
77
  expect(evts.at(0)).toMatchObject({
78
78
  event: 'identity',
79
79
  did: alice,
@@ -89,6 +89,10 @@ describe('firehose', () => {
89
89
  status: undefined,
90
90
  })
91
91
  expect(evts.at(2)).toMatchObject({
92
+ event: 'sync',
93
+ did: alice,
94
+ })
95
+ expect(evts.at(3)).toMatchObject({
92
96
  event: 'create',
93
97
  did: alice,
94
98
  collection: 'app.bsky.feed.post',
@@ -96,7 +100,7 @@ describe('firehose', () => {
96
100
  text: 'one',
97
101
  },
98
102
  })
99
- expect(evts.at(3)).toMatchObject({
103
+ expect(evts.at(4)).toMatchObject({
100
104
  event: 'create',
101
105
  did: alice,
102
106
  collection: 'app.bsky.feed.post',
@@ -104,7 +108,7 @@ describe('firehose', () => {
104
108
  text: 'two',
105
109
  },
106
110
  })
107
- expect(evts.at(4)).toMatchObject({
111
+ expect(evts.at(5)).toMatchObject({
108
112
  event: 'create',
109
113
  did: alice,
110
114
  collection: 'app.bsky.feed.post',
@@ -130,7 +134,7 @@ describe('firehose', () => {
130
134
  const runner = new MemoryRunner({
131
135
  startCursor: currCursor ?? undefined,
132
136
  })
133
- const evtsPromise = createAndReadFirehose(20, { runner }, true)
137
+ const evtsPromise = createAndReadFirehose(24, { runner }, true)
134
138
  const createAndPost = async (name: string) => {
135
139
  const user = await sc.createAccount('name', {
136
140
  handle: `${name}.test`,
@@ -159,22 +163,29 @@ describe('firehose', () => {
159
163
  const user2Evts = evts.filter((e) => e.did === res[1].did)
160
164
  const user3Evts = evts.filter((e) => e.did === res[2].did)
161
165
  const user4Evts = evts.filter((e) => e.did === res[3].did)
162
- const EVT_ORDER = ['identity', 'account', 'create', 'create', 'create']
166
+ const EVT_ORDER = [
167
+ 'identity',
168
+ 'account',
169
+ 'sync',
170
+ 'create',
171
+ 'create',
172
+ 'create',
173
+ ]
163
174
  expect(user1Evts.map((e) => e.event)).toEqual(EVT_ORDER)
164
175
  expect(user2Evts.map((e) => e.event)).toEqual(EVT_ORDER)
165
176
  expect(user3Evts.map((e) => e.event)).toEqual(EVT_ORDER)
166
177
  expect(user4Evts.map((e) => e.event)).toEqual(EVT_ORDER)
167
178
  expect(
168
- user1Evts.slice(2, 5).map((e) => (e as Create).uri.toString()),
179
+ user1Evts.slice(3, 6).map((e) => (e as Create).uri.toString()),
169
180
  ).toEqual([res[0].post1, res[0].post2, res[0].post3])
170
181
  expect(
171
- user2Evts.slice(2, 5).map((e) => (e as Create).uri.toString()),
182
+ user2Evts.slice(3, 6).map((e) => (e as Create).uri.toString()),
172
183
  ).toEqual([res[1].post1, res[1].post2, res[1].post3])
173
184
  expect(
174
- user3Evts.slice(2, 5).map((e) => (e as Create).uri.toString()),
185
+ user3Evts.slice(3, 6).map((e) => (e as Create).uri.toString()),
175
186
  ).toEqual([res[2].post1, res[2].post2, res[2].post3])
176
187
  expect(
177
- user4Evts.slice(2, 5).map((e) => (e as Create).uri.toString()),
188
+ user4Evts.slice(3, 6).map((e) => (e as Create).uri.toString()),
178
189
  ).toEqual([res[3].post1, res[3].post2, res[3].post3])
179
190
  })
180
191
  })