@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.
- package/CHANGELOG.md +11 -0
- package/dist/auth-verifier.d.ts.map +1 -1
- package/dist/auth-verifier.js +10 -1
- package/dist/auth-verifier.js.map +1 -1
- package/dist/lexicon/index.d.ts +4 -4
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +6 -6
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +100 -100
- package/dist/lexicon/lexicons.js +52 -52
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/{getPostThreadHiddenV2.d.ts → getPostThreadOtherV2.d.ts} +7 -7
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js +16 -0
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadOtherV2.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts +2 -2
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/auth-verifier.ts +20 -6
- package/src/lexicon/index.ts +14 -14
- package/src/lexicon/lexicons.ts +54 -54
- package/src/lexicon/types/app/bsky/unspecced/{getPostThreadHiddenV2.ts → getPostThreadOtherV2.ts} +10 -10
- package/src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts.map +0 -1
- package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js +0 -16
- 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
|
18
|
-
thread:
|
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
|
43
|
-
$type?: 'app.bsky.unspecced.
|
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
|
52
|
-
export declare function
|
53
|
-
//# sourceMappingURL=
|
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
|
30
|
-
|
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,
|
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.
|
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.
|
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.
|
81
|
-
"@atproto/bsky": "^0.0.
|
82
|
-
"@atproto/dev-env": "^0.3.
|
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
|
},
|
package/src/auth-verifier.ts
CHANGED
@@ -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 } =
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
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:')) {
|
package/src/lexicon/index.ts
CHANGED
@@ -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
|
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
|
-
|
1552
|
+
getPosts<AV extends AuthVerifier>(
|
1553
1553
|
cfg: ConfigOf<
|
1554
1554
|
AV,
|
1555
|
-
|
1556
|
-
|
1555
|
+
AppBskyFeedGetPosts.Handler<ExtractAuth<AV>>,
|
1556
|
+
AppBskyFeedGetPosts.HandlerReqCtx<ExtractAuth<AV>>
|
1557
1557
|
>,
|
1558
1558
|
) {
|
1559
|
-
const nsid = 'app.bsky.feed.
|
1559
|
+
const nsid = 'app.bsky.feed.getPosts' // @ts-ignore
|
1560
1560
|
return this._server.xrpc.method(nsid, cfg)
|
1561
1561
|
}
|
1562
1562
|
|
1563
|
-
|
1563
|
+
getPostThread<AV extends AuthVerifier>(
|
1564
1564
|
cfg: ConfigOf<
|
1565
1565
|
AV,
|
1566
|
-
|
1567
|
-
|
1566
|
+
AppBskyFeedGetPostThread.Handler<ExtractAuth<AV>>,
|
1567
|
+
AppBskyFeedGetPostThread.HandlerReqCtx<ExtractAuth<AV>>
|
1568
1568
|
>,
|
1569
1569
|
) {
|
1570
|
-
const nsid = 'app.bsky.feed.
|
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
|
-
|
1999
|
+
getPostThreadOtherV2<AV extends AuthVerifier>(
|
2000
2000
|
cfg: ConfigOf<
|
2001
2001
|
AV,
|
2002
|
-
|
2003
|
-
|
2002
|
+
AppBskyUnspeccedGetPostThreadOtherV2.Handler<ExtractAuth<AV>>,
|
2003
|
+
AppBskyUnspeccedGetPostThreadOtherV2.HandlerReqCtx<ExtractAuth<AV>>
|
2004
2004
|
>,
|
2005
2005
|
) {
|
2006
|
-
const nsid = 'app.bsky.unspecced.
|
2006
|
+
const nsid = 'app.bsky.unspecced.getPostThreadOtherV2' // @ts-ignore
|
2007
2007
|
return this._server.xrpc.method(nsid, cfg)
|
2008
2008
|
}
|
2009
2009
|
|
package/src/lexicon/lexicons.ts
CHANGED
@@ -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
|
-
|
10357
|
+
AppBskyUnspeccedGetPostThreadOtherV2: {
|
10358
10358
|
lexicon: 1,
|
10359
|
-
id: 'app.bsky.unspecced.
|
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
|
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
|
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.
|
10395
|
+
ref: 'lex:app.bsky.unspecced.getPostThreadOtherV2#threadItem',
|
10396
10396
|
},
|
10397
10397
|
},
|
10398
10398
|
},
|
10399
10399
|
},
|
10400
10400
|
},
|
10401
10401
|
},
|
10402
|
-
|
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', '
|
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
|
-
|
10495
|
+
hasOtherReplies: {
|
10496
10496
|
type: 'boolean',
|
10497
10497
|
description:
|
10498
|
-
'Whether this thread has
|
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
|
-
|
16572
|
-
'app.bsky.unspecced.
|
16571
|
+
AppBskyUnspeccedGetPostThreadOtherV2:
|
16572
|
+
'app.bsky.unspecced.getPostThreadOtherV2',
|
16573
16573
|
AppBskyUnspeccedGetPostThreadV2: 'app.bsky.unspecced.getPostThreadV2',
|
16574
16574
|
AppBskyUnspeccedGetSuggestedFeeds: 'app.bsky.unspecced.getSuggestedFeeds',
|
16575
16575
|
AppBskyUnspeccedGetSuggestedFeedsSkeleton:
|
package/src/lexicon/types/app/bsky/unspecced/{getPostThreadHiddenV2.ts → getPostThreadOtherV2.ts}
RENAMED
@@ -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.
|
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
|
31
|
-
thread:
|
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
|
61
|
-
$type?: 'app.bsky.unspecced.
|
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
|
68
|
+
const hashThreadItem = 'threadItem'
|
69
69
|
|
70
|
-
export function
|
71
|
-
return is$typed(v, id,
|
70
|
+
export function isThreadItem<V>(v: V) {
|
71
|
+
return is$typed(v, id, hashThreadItem)
|
72
72
|
}
|
73
73
|
|
74
|
-
export function
|
75
|
-
return validate<
|
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
|
43
|
-
|
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
|