@atproto/pds 0.4.144 → 0.4.145

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/auth-verifier.d.ts.map +1 -1
  3. package/dist/auth-verifier.js +10 -1
  4. package/dist/auth-verifier.js.map +1 -1
  5. package/dist/lexicon/index.d.ts +4 -4
  6. package/dist/lexicon/index.d.ts.map +1 -1
  7. package/dist/lexicon/index.js +6 -6
  8. package/dist/lexicon/index.js.map +1 -1
  9. package/dist/lexicon/lexicons.d.ts +100 -100
  10. package/dist/lexicon/lexicons.js +52 -52
  11. package/dist/lexicon/lexicons.js.map +1 -1
  12. package/dist/lexicon/types/app/bsky/unspecced/{getPostThreadHiddenV2.d.ts → getPostThreadOtherV2.d.ts} +7 -7
  13. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts.map +1 -0
  14. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js +16 -0
  15. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -0
  16. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts +2 -2
  17. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
  18. package/package.json +5 -5
  19. package/src/auth-verifier.ts +20 -6
  20. package/src/lexicon/index.ts +14 -14
  21. package/src/lexicon/lexicons.ts +54 -54
  22. package/src/lexicon/types/app/bsky/unspecced/{getPostThreadHiddenV2.ts → getPostThreadOtherV2.ts} +10 -10
  23. package/src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts +2 -2
  24. package/tsconfig.build.tsbuildinfo +1 -1
  25. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts.map +0 -1
  26. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js +0 -16
  27. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js.map +0 -1
@@ -14,8 +14,8 @@ export interface QueryParams {
14
14
  }
15
15
  export type InputSchema = undefined;
16
16
  export interface OutputSchema {
17
- /** A flat list of hidden thread items. The depth of each item is indicated by the depth property inside the item. */
18
- thread: ThreadHiddenItem[];
17
+ /** A flat list of other thread items. The depth of each item is indicated by the depth property inside the item. */
18
+ thread: ThreadItem[];
19
19
  }
20
20
  export type HandlerInput = undefined;
21
21
  export interface HandlerSuccess {
@@ -39,8 +39,8 @@ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
39
39
  resetRouteRateLimits: () => Promise<void>;
40
40
  };
41
41
  export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
42
- export interface ThreadHiddenItem {
43
- $type?: 'app.bsky.unspecced.getPostThreadHiddenV2#threadHiddenItem';
42
+ export interface ThreadItem {
43
+ $type?: 'app.bsky.unspecced.getPostThreadOtherV2#threadItem';
44
44
  uri: string;
45
45
  /** The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths. */
46
46
  depth: number;
@@ -48,6 +48,6 @@ export interface ThreadHiddenItem {
48
48
  $type: string;
49
49
  };
50
50
  }
51
- export declare function isThreadHiddenItem<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.getPostThreadHiddenV2", "threadHiddenItem">;
52
- export declare function validateThreadHiddenItem<V>(v: V): ValidationResult<ThreadHiddenItem & V>;
53
- //# sourceMappingURL=getPostThreadHiddenV2.d.ts.map
51
+ export declare function isThreadItem<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.getPostThreadOtherV2", "threadItem">;
52
+ export declare function validateThreadItem<V>(v: V): ValidationResult<ThreadItem & V>;
53
+ //# sourceMappingURL=getPostThreadOtherV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPostThreadOtherV2.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAGjE,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,oBAAoB,MAAM,WAAW,CAAA;AAMtD,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAA;IACd,0GAA0G;IAC1G,uBAAuB,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,oHAAoH;IACpH,MAAM,EAAE,UAAU,EAAE,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,oDAAoD,CAAA;IAC5D,GAAG,EAAE,MAAM,CAAA;IACX,uJAAuJ;IACvJ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACvE;AAID,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,4GAEnC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,oCAEzC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isThreadItem = isThreadItem;
4
+ exports.validateThreadItem = validateThreadItem;
5
+ const lexicons_1 = require("../../../../lexicons");
6
+ const util_1 = require("../../../../util");
7
+ const is$typed = util_1.is$typed, validate = lexicons_1.validate;
8
+ const id = 'app.bsky.unspecced.getPostThreadOtherV2';
9
+ const hashThreadItem = 'threadItem';
10
+ function isThreadItem(v) {
11
+ return is$typed(v, id, hashThreadItem);
12
+ }
13
+ function validateThreadItem(v) {
14
+ return validate(v, id, hashThreadItem);
15
+ }
16
+ //# sourceMappingURL=getPostThreadOtherV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPostThreadOtherV2.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.ts"],"names":[],"mappings":";;AAqEA,oCAEC;AAED,gDAEC;AArED,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,yCAAyC,CAAA;AAkDpD,MAAM,cAAc,GAAG,YAAY,CAAA;AAEnC,SAAgB,YAAY,CAAI,CAAI;IAClC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;AACxC,CAAC;AAED,SAAgB,kBAAkB,CAAI,CAAI;IACxC,OAAO,QAAQ,CAAiB,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;AACxD,CAAC"}
@@ -26,8 +26,8 @@ export interface OutputSchema {
26
26
  /** A flat list of thread items. The depth of each item is indicated by the depth property inside the item. */
27
27
  thread: ThreadItem[];
28
28
  threadgate?: AppBskyFeedDefs.ThreadgateView;
29
- /** Whether this thread has hidden replies. If true, a call can be made to the `getPostThreadHiddenV2` endpoint to retrieve them. */
30
- hasHiddenReplies: boolean;
29
+ /** Whether this thread has additional replies. If true, a call can be made to the `getPostThreadOtherV2` endpoint to retrieve them. */
30
+ hasOtherReplies: boolean;
31
31
  }
32
32
  export type HandlerInput = undefined;
33
33
  export interface HandlerSuccess {
@@ -1 +1 @@
1
- {"version":3,"file":"getPostThreadV2.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAGjE,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,eAAe,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,KAAK,oBAAoB,MAAM,WAAW,CAAA;AAMtD,MAAM,WAAW,WAAW;IAC1B,uKAAuK;IACvK,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAA;IACd,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,sNAAsN;IACtN,eAAe,EAAE,MAAM,CAAA;IACvB,0GAA0G;IAC1G,uBAAuB,EAAE,OAAO,CAAA;IAChC,sCAAsC;IACtC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAClD;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,8GAA8G;IAC9G,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,eAAe,CAAC,cAAc,CAAA;IAC3C,oIAAoI;IACpI,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,+CAA+C,CAAA;IACvD,GAAG,EAAE,MAAM,CAAA;IACX,uJAAuJ;IACvJ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAC3C,MAAM,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,GACxD,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAC/C,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAC9C;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtB;AAID,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,uGAEnC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,oCAEzC"}
1
+ {"version":3,"file":"getPostThreadV2.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAGjE,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,eAAe,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,KAAK,oBAAoB,MAAM,WAAW,CAAA;AAMtD,MAAM,WAAW,WAAW;IAC1B,uKAAuK;IACvK,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAA;IACd,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,sNAAsN;IACtN,eAAe,EAAE,MAAM,CAAA;IACvB,0GAA0G;IAC1G,uBAAuB,EAAE,OAAO,CAAA;IAChC,sCAAsC;IACtC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAClD;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,8GAA8G;IAC9G,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,UAAU,CAAC,EAAE,eAAe,CAAC,cAAc,CAAA;IAC3C,uIAAuI;IACvI,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,+CAA+C,CAAA;IACvD,GAAG,EAAE,MAAM,CAAA;IACX,uJAAuJ;IACvJ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAC3C,MAAM,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,GACxD,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAC/C,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,GAC9C;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtB;AAID,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,uGAEnC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,oCAEzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/pds",
3
- "version": "0.4.144",
3
+ "version": "0.4.145",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of atproto Personal Data Server (PDS)",
6
6
  "keywords": [
@@ -49,7 +49,7 @@
49
49
  "zod": "^3.23.8",
50
50
  "@atproto-labs/fetch-node": "0.1.9",
51
51
  "@atproto-labs/xrpc-utils": "0.0.15",
52
- "@atproto/api": "^0.15.12",
52
+ "@atproto/api": "^0.15.13",
53
53
  "@atproto/aws": "^0.2.21",
54
54
  "@atproto/common": "^0.4.11",
55
55
  "@atproto/crypto": "^0.4.4",
@@ -77,9 +77,9 @@
77
77
  "ts-node": "^10.8.2",
78
78
  "typescript": "^5.6.3",
79
79
  "ws": "^8.12.0",
80
- "@atproto/api": "^0.15.12",
81
- "@atproto/bsky": "^0.0.155",
82
- "@atproto/dev-env": "^0.3.138",
80
+ "@atproto/api": "^0.15.13",
81
+ "@atproto/bsky": "^0.0.156",
82
+ "@atproto/dev-env": "^0.3.139",
83
83
  "@atproto/lex-cli": "^0.8.2",
84
84
  "@atproto/oauth-client-browser-example": "0.0.4"
85
85
  },
@@ -21,6 +21,7 @@ import {
21
21
  } from '@atproto/xrpc-server'
22
22
  import { AccountManager } from './account-manager/account-manager'
23
23
  import { softDeleted } from './db'
24
+ import { oauthLogger } from './logger'
24
25
 
25
26
  type ReqCtx = AuthVerifierContext | StreamAuthVerifierContext
26
27
 
@@ -490,12 +491,25 @@ export class AuthVerifier {
490
491
  const originalUrl =
491
492
  ('originalUrl' in req && req.originalUrl) || req.url || '/'
492
493
  const url = new URL(originalUrl, this._publicUrl)
493
- const { tokenClaims } = await this.oauthVerifier.authenticateRequest(
494
- req.method || 'GET',
495
- url,
496
- req.headers,
497
- { audience: [this.dids.pds] },
498
- )
494
+ const { tokenClaims, dpopProof } =
495
+ await this.oauthVerifier.authenticateRequest(
496
+ req.method || 'GET',
497
+ url,
498
+ req.headers,
499
+ { audience: [this.dids.pds] },
500
+ )
501
+
502
+ // @TODO drop this once oauth provider no longer accepts DPoP proof with
503
+ // query or fragment in "htu" claim.
504
+ if (dpopProof?.htu.match(/[?#]/)) {
505
+ oauthLogger.info(
506
+ {
507
+ client_id: tokenClaims.client_id,
508
+ htu: dpopProof.htu,
509
+ },
510
+ 'DPoP proof "htu" contains query or fragment',
511
+ )
512
+ }
499
513
 
500
514
  const { sub } = tokenClaims
501
515
  if (typeof sub !== 'string' || !sub.startsWith('did:')) {
@@ -108,8 +108,8 @@ import * as AppBskyFeedGetFeedGenerators from './types/app/bsky/feed/getFeedGene
108
108
  import * as AppBskyFeedGetFeedSkeleton from './types/app/bsky/feed/getFeedSkeleton.js'
109
109
  import * as AppBskyFeedGetLikes from './types/app/bsky/feed/getLikes.js'
110
110
  import * as AppBskyFeedGetListFeed from './types/app/bsky/feed/getListFeed.js'
111
- import * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread.js'
112
111
  import * as AppBskyFeedGetPosts from './types/app/bsky/feed/getPosts.js'
112
+ import * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread.js'
113
113
  import * as AppBskyFeedGetQuotes from './types/app/bsky/feed/getQuotes.js'
114
114
  import * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy.js'
115
115
  import * as AppBskyFeedGetSuggestedFeeds from './types/app/bsky/feed/getSuggestedFeeds.js'
@@ -145,7 +145,7 @@ import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/
145
145
  import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen.js'
146
146
  import * as AppBskyUnspeccedGetConfig from './types/app/bsky/unspecced/getConfig.js'
147
147
  import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators.js'
148
- import * as AppBskyUnspeccedGetPostThreadHiddenV2 from './types/app/bsky/unspecced/getPostThreadHiddenV2.js'
148
+ import * as AppBskyUnspeccedGetPostThreadOtherV2 from './types/app/bsky/unspecced/getPostThreadOtherV2.js'
149
149
  import * as AppBskyUnspeccedGetPostThreadV2 from './types/app/bsky/unspecced/getPostThreadV2.js'
150
150
  import * as AppBskyUnspeccedGetSuggestedFeeds from './types/app/bsky/unspecced/getSuggestedFeeds.js'
151
151
  import * as AppBskyUnspeccedGetSuggestedFeedsSkeleton from './types/app/bsky/unspecced/getSuggestedFeedsSkeleton.js'
@@ -1549,25 +1549,25 @@ export class AppBskyFeedNS {
1549
1549
  return this._server.xrpc.method(nsid, cfg)
1550
1550
  }
1551
1551
 
1552
- getPostThread<AV extends AuthVerifier>(
1552
+ getPosts<AV extends AuthVerifier>(
1553
1553
  cfg: ConfigOf<
1554
1554
  AV,
1555
- AppBskyFeedGetPostThread.Handler<ExtractAuth<AV>>,
1556
- AppBskyFeedGetPostThread.HandlerReqCtx<ExtractAuth<AV>>
1555
+ AppBskyFeedGetPosts.Handler<ExtractAuth<AV>>,
1556
+ AppBskyFeedGetPosts.HandlerReqCtx<ExtractAuth<AV>>
1557
1557
  >,
1558
1558
  ) {
1559
- const nsid = 'app.bsky.feed.getPostThread' // @ts-ignore
1559
+ const nsid = 'app.bsky.feed.getPosts' // @ts-ignore
1560
1560
  return this._server.xrpc.method(nsid, cfg)
1561
1561
  }
1562
1562
 
1563
- getPosts<AV extends AuthVerifier>(
1563
+ getPostThread<AV extends AuthVerifier>(
1564
1564
  cfg: ConfigOf<
1565
1565
  AV,
1566
- AppBskyFeedGetPosts.Handler<ExtractAuth<AV>>,
1567
- AppBskyFeedGetPosts.HandlerReqCtx<ExtractAuth<AV>>
1566
+ AppBskyFeedGetPostThread.Handler<ExtractAuth<AV>>,
1567
+ AppBskyFeedGetPostThread.HandlerReqCtx<ExtractAuth<AV>>
1568
1568
  >,
1569
1569
  ) {
1570
- const nsid = 'app.bsky.feed.getPosts' // @ts-ignore
1570
+ const nsid = 'app.bsky.feed.getPostThread' // @ts-ignore
1571
1571
  return this._server.xrpc.method(nsid, cfg)
1572
1572
  }
1573
1573
 
@@ -1996,14 +1996,14 @@ export class AppBskyUnspeccedNS {
1996
1996
  return this._server.xrpc.method(nsid, cfg)
1997
1997
  }
1998
1998
 
1999
- getPostThreadHiddenV2<AV extends AuthVerifier>(
1999
+ getPostThreadOtherV2<AV extends AuthVerifier>(
2000
2000
  cfg: ConfigOf<
2001
2001
  AV,
2002
- AppBskyUnspeccedGetPostThreadHiddenV2.Handler<ExtractAuth<AV>>,
2003
- AppBskyUnspeccedGetPostThreadHiddenV2.HandlerReqCtx<ExtractAuth<AV>>
2002
+ AppBskyUnspeccedGetPostThreadOtherV2.Handler<ExtractAuth<AV>>,
2003
+ AppBskyUnspeccedGetPostThreadOtherV2.HandlerReqCtx<ExtractAuth<AV>>
2004
2004
  >,
2005
2005
  ) {
2006
- const nsid = 'app.bsky.unspecced.getPostThreadHiddenV2' // @ts-ignore
2006
+ const nsid = 'app.bsky.unspecced.getPostThreadOtherV2' // @ts-ignore
2007
2007
  return this._server.xrpc.method(nsid, cfg)
2008
2008
  }
2009
2009
 
@@ -7239,6 +7239,48 @@ export const schemaDict = {
7239
7239
  },
7240
7240
  },
7241
7241
  },
7242
+ AppBskyFeedGetPosts: {
7243
+ lexicon: 1,
7244
+ id: 'app.bsky.feed.getPosts',
7245
+ defs: {
7246
+ main: {
7247
+ type: 'query',
7248
+ description:
7249
+ "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.",
7250
+ parameters: {
7251
+ type: 'params',
7252
+ required: ['uris'],
7253
+ properties: {
7254
+ uris: {
7255
+ type: 'array',
7256
+ description: 'List of post AT-URIs to return hydrated views for.',
7257
+ items: {
7258
+ type: 'string',
7259
+ format: 'at-uri',
7260
+ },
7261
+ maxLength: 25,
7262
+ },
7263
+ },
7264
+ },
7265
+ output: {
7266
+ encoding: 'application/json',
7267
+ schema: {
7268
+ type: 'object',
7269
+ required: ['posts'],
7270
+ properties: {
7271
+ posts: {
7272
+ type: 'array',
7273
+ items: {
7274
+ type: 'ref',
7275
+ ref: 'lex:app.bsky.feed.defs#postView',
7276
+ },
7277
+ },
7278
+ },
7279
+ },
7280
+ },
7281
+ },
7282
+ },
7283
+ },
7242
7284
  AppBskyFeedGetPostThread: {
7243
7285
  lexicon: 1,
7244
7286
  id: 'app.bsky.feed.getPostThread',
@@ -7303,48 +7345,6 @@ export const schemaDict = {
7303
7345
  },
7304
7346
  },
7305
7347
  },
7306
- AppBskyFeedGetPosts: {
7307
- lexicon: 1,
7308
- id: 'app.bsky.feed.getPosts',
7309
- defs: {
7310
- main: {
7311
- type: 'query',
7312
- description:
7313
- "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.",
7314
- parameters: {
7315
- type: 'params',
7316
- required: ['uris'],
7317
- properties: {
7318
- uris: {
7319
- type: 'array',
7320
- description: 'List of post AT-URIs to return hydrated views for.',
7321
- items: {
7322
- type: 'string',
7323
- format: 'at-uri',
7324
- },
7325
- maxLength: 25,
7326
- },
7327
- },
7328
- },
7329
- output: {
7330
- encoding: 'application/json',
7331
- schema: {
7332
- type: 'object',
7333
- required: ['posts'],
7334
- properties: {
7335
- posts: {
7336
- type: 'array',
7337
- items: {
7338
- type: 'ref',
7339
- ref: 'lex:app.bsky.feed.defs#postView',
7340
- },
7341
- },
7342
- },
7343
- },
7344
- },
7345
- },
7346
- },
7347
- },
7348
7348
  AppBskyFeedGetQuotes: {
7349
7349
  lexicon: 1,
7350
7350
  id: 'app.bsky.feed.getQuotes',
@@ -10354,14 +10354,14 @@ export const schemaDict = {
10354
10354
  },
10355
10355
  },
10356
10356
  },
10357
- AppBskyUnspeccedGetPostThreadHiddenV2: {
10357
+ AppBskyUnspeccedGetPostThreadOtherV2: {
10358
10358
  lexicon: 1,
10359
- id: 'app.bsky.unspecced.getPostThreadHiddenV2',
10359
+ id: 'app.bsky.unspecced.getPostThreadOtherV2',
10360
10360
  defs: {
10361
10361
  main: {
10362
10362
  type: 'query',
10363
10363
  description:
10364
- "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get the hidden posts in a thread. It is based in an anchor post at any depth of the tree, and returns hidden replies (recursive replies, with branching to their replies) below the anchor. It does not include ancestors nor the anchor. This should be called after exhausting `app.bsky.unspecced.getPostThreadV2`. Does not require auth, but additional metadata and filtering will be applied for authed requests.",
10364
+ "(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get additional posts under a thread e.g. replies hidden by threadgate. Based on an anchor post at any depth of the tree, returns top-level replies below that anchor. It does not include ancestors nor the anchor itself. This should be called after exhausting `app.bsky.unspecced.getPostThreadV2`. Does not require auth, but additional metadata and filtering will be applied for authed requests.",
10365
10365
  parameters: {
10366
10366
  type: 'params',
10367
10367
  required: ['anchor'],
@@ -10389,17 +10389,17 @@ export const schemaDict = {
10389
10389
  thread: {
10390
10390
  type: 'array',
10391
10391
  description:
10392
- 'A flat list of hidden thread items. The depth of each item is indicated by the depth property inside the item.',
10392
+ 'A flat list of other thread items. The depth of each item is indicated by the depth property inside the item.',
10393
10393
  items: {
10394
10394
  type: 'ref',
10395
- ref: 'lex:app.bsky.unspecced.getPostThreadHiddenV2#threadHiddenItem',
10395
+ ref: 'lex:app.bsky.unspecced.getPostThreadOtherV2#threadItem',
10396
10396
  },
10397
10397
  },
10398
10398
  },
10399
10399
  },
10400
10400
  },
10401
10401
  },
10402
- threadHiddenItem: {
10402
+ threadItem: {
10403
10403
  type: 'object',
10404
10404
  required: ['uri', 'depth', 'value'],
10405
10405
  properties: {
@@ -10477,7 +10477,7 @@ export const schemaDict = {
10477
10477
  encoding: 'application/json',
10478
10478
  schema: {
10479
10479
  type: 'object',
10480
- required: ['thread', 'hasHiddenReplies'],
10480
+ required: ['thread', 'hasOtherReplies'],
10481
10481
  properties: {
10482
10482
  thread: {
10483
10483
  type: 'array',
@@ -10492,10 +10492,10 @@ export const schemaDict = {
10492
10492
  type: 'ref',
10493
10493
  ref: 'lex:app.bsky.feed.defs#threadgateView',
10494
10494
  },
10495
- hasHiddenReplies: {
10495
+ hasOtherReplies: {
10496
10496
  type: 'boolean',
10497
10497
  description:
10498
- 'Whether this thread has hidden replies. If true, a call can be made to the `getPostThreadHiddenV2` endpoint to retrieve them.',
10498
+ 'Whether this thread has additional replies. If true, a call can be made to the `getPostThreadOtherV2` endpoint to retrieve them.',
10499
10499
  },
10500
10500
  },
10501
10501
  },
@@ -16510,8 +16510,8 @@ export const ids = {
16510
16510
  AppBskyFeedGetFeedSkeleton: 'app.bsky.feed.getFeedSkeleton',
16511
16511
  AppBskyFeedGetLikes: 'app.bsky.feed.getLikes',
16512
16512
  AppBskyFeedGetListFeed: 'app.bsky.feed.getListFeed',
16513
- AppBskyFeedGetPostThread: 'app.bsky.feed.getPostThread',
16514
16513
  AppBskyFeedGetPosts: 'app.bsky.feed.getPosts',
16514
+ AppBskyFeedGetPostThread: 'app.bsky.feed.getPostThread',
16515
16515
  AppBskyFeedGetQuotes: 'app.bsky.feed.getQuotes',
16516
16516
  AppBskyFeedGetRepostedBy: 'app.bsky.feed.getRepostedBy',
16517
16517
  AppBskyFeedGetSuggestedFeeds: 'app.bsky.feed.getSuggestedFeeds',
@@ -16568,8 +16568,8 @@ export const ids = {
16568
16568
  AppBskyUnspeccedGetConfig: 'app.bsky.unspecced.getConfig',
16569
16569
  AppBskyUnspeccedGetPopularFeedGenerators:
16570
16570
  'app.bsky.unspecced.getPopularFeedGenerators',
16571
- AppBskyUnspeccedGetPostThreadHiddenV2:
16572
- 'app.bsky.unspecced.getPostThreadHiddenV2',
16571
+ AppBskyUnspeccedGetPostThreadOtherV2:
16572
+ 'app.bsky.unspecced.getPostThreadOtherV2',
16573
16573
  AppBskyUnspeccedGetPostThreadV2: 'app.bsky.unspecced.getPostThreadV2',
16574
16574
  AppBskyUnspeccedGetSuggestedFeeds: 'app.bsky.unspecced.getSuggestedFeeds',
16575
16575
  AppBskyUnspeccedGetSuggestedFeedsSkeleton:
@@ -15,7 +15,7 @@ import type * as AppBskyUnspeccedDefs from './defs.js'
15
15
 
16
16
  const is$typed = _is$typed,
17
17
  validate = _validate
18
- const id = 'app.bsky.unspecced.getPostThreadHiddenV2'
18
+ const id = 'app.bsky.unspecced.getPostThreadOtherV2'
19
19
 
20
20
  export interface QueryParams {
21
21
  /** Reference (AT-URI) to post record. This is the anchor post. */
@@ -27,8 +27,8 @@ export interface QueryParams {
27
27
  export type InputSchema = undefined
28
28
 
29
29
  export interface OutputSchema {
30
- /** A flat list of hidden thread items. The depth of each item is indicated by the depth property inside the item. */
31
- thread: ThreadHiddenItem[]
30
+ /** A flat list of other thread items. The depth of each item is indicated by the depth property inside the item. */
31
+ thread: ThreadItem[]
32
32
  }
33
33
 
34
34
  export type HandlerInput = undefined
@@ -57,20 +57,20 @@ export type Handler<HA extends HandlerAuth = never> = (
57
57
  ctx: HandlerReqCtx<HA>,
58
58
  ) => Promise<HandlerOutput> | HandlerOutput
59
59
 
60
- export interface ThreadHiddenItem {
61
- $type?: 'app.bsky.unspecced.getPostThreadHiddenV2#threadHiddenItem'
60
+ export interface ThreadItem {
61
+ $type?: 'app.bsky.unspecced.getPostThreadOtherV2#threadItem'
62
62
  uri: string
63
63
  /** The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths. */
64
64
  depth: number
65
65
  value: $Typed<AppBskyUnspeccedDefs.ThreadItemPost> | { $type: string }
66
66
  }
67
67
 
68
- const hashThreadHiddenItem = 'threadHiddenItem'
68
+ const hashThreadItem = 'threadItem'
69
69
 
70
- export function isThreadHiddenItem<V>(v: V) {
71
- return is$typed(v, id, hashThreadHiddenItem)
70
+ export function isThreadItem<V>(v: V) {
71
+ return is$typed(v, id, hashThreadItem)
72
72
  }
73
73
 
74
- export function validateThreadHiddenItem<V>(v: V) {
75
- return validate<ThreadHiddenItem & V>(v, id, hashThreadHiddenItem)
74
+ export function validateThreadItem<V>(v: V) {
75
+ return validate<ThreadItem & V>(v, id, hashThreadItem)
76
76
  }
@@ -39,8 +39,8 @@ export interface OutputSchema {
39
39
  /** A flat list of thread items. The depth of each item is indicated by the depth property inside the item. */
40
40
  thread: ThreadItem[]
41
41
  threadgate?: AppBskyFeedDefs.ThreadgateView
42
- /** Whether this thread has hidden replies. If true, a call can be made to the `getPostThreadHiddenV2` endpoint to retrieve them. */
43
- hasHiddenReplies: boolean
42
+ /** Whether this thread has additional replies. If true, a call can be made to the `getPostThreadOtherV2` endpoint to retrieve them. */
43
+ hasOtherReplies: boolean
44
44
  }
45
45
 
46
46
  export type HandlerInput = undefined