@atproto/bsky 0.0.233 → 0.0.234

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 (63) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/api/app/bsky/embed/getEmbedExternalView.js +5 -3
  3. package/dist/api/app/bsky/embed/getEmbedExternalView.js.map +1 -1
  4. package/dist/hydration/hydrator.d.ts.map +1 -1
  5. package/dist/hydration/hydrator.js +48 -5
  6. package/dist/hydration/hydrator.js.map +1 -1
  7. package/dist/lexicons/app/bsky/embed/external.defs.d.ts +5 -0
  8. package/dist/lexicons/app/bsky/embed/external.defs.d.ts.map +1 -1
  9. package/dist/lexicons/app/bsky/embed/external.defs.js +4 -0
  10. package/dist/lexicons/app/bsky/embed/external.defs.js.map +1 -1
  11. package/dist/lexicons/chat/bsky/authFullChatClient.defs.js +1 -1
  12. package/dist/lexicons/chat/bsky/authFullChatClient.defs.js.map +1 -1
  13. package/dist/lexicons/chat/bsky/convo/defs.defs.d.ts +8 -0
  14. package/dist/lexicons/chat/bsky/convo/defs.defs.d.ts.map +1 -1
  15. package/dist/lexicons/chat/bsky/convo/defs.defs.js +2 -0
  16. package/dist/lexicons/chat/bsky/convo/defs.defs.js.map +1 -1
  17. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.d.ts +3 -3
  18. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.d.ts.map +1 -1
  19. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.js +2 -2
  20. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.js.map +1 -1
  21. package/dist/lexicons/chat/bsky/group/defs.defs.d.ts +26 -0
  22. package/dist/lexicons/chat/bsky/group/defs.defs.d.ts.map +1 -1
  23. package/dist/lexicons/chat/bsky/group/defs.defs.js +23 -0
  24. package/dist/lexicons/chat/bsky/group/defs.defs.js.map +1 -1
  25. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.d.ts +3 -0
  26. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.d.ts.map +1 -0
  27. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.d.ts +22 -0
  28. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.d.ts.map +1 -0
  29. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.js +22 -0
  30. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.js.map +1 -0
  31. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.js +6 -0
  32. package/dist/lexicons/chat/bsky/group/getJoinLinkPreviews.js.map +1 -0
  33. package/dist/lexicons/chat/bsky/group.d.ts +1 -1
  34. package/dist/lexicons/chat/bsky/group.d.ts.map +1 -1
  35. package/dist/lexicons/chat/bsky/group.js +1 -1
  36. package/dist/lexicons/chat/bsky/group.js.map +1 -1
  37. package/dist/logger.d.ts +1 -0
  38. package/dist/logger.d.ts.map +1 -1
  39. package/dist/logger.js +1 -0
  40. package/dist/logger.js.map +1 -1
  41. package/dist/util/standard-site.d.ts +12 -5
  42. package/dist/util/standard-site.d.ts.map +1 -1
  43. package/dist/util/standard-site.js +30 -9
  44. package/dist/util/standard-site.js.map +1 -1
  45. package/dist/views/index.d.ts.map +1 -1
  46. package/dist/views/index.js +13 -0
  47. package/dist/views/index.js.map +1 -1
  48. package/package.json +3 -3
  49. package/src/api/app/bsky/embed/getEmbedExternalView.ts +5 -3
  50. package/src/hydration/hydrator.ts +53 -5
  51. package/src/logger.ts +2 -0
  52. package/src/util/standard-site.test.ts +109 -24
  53. package/src/util/standard-site.ts +30 -11
  54. package/src/views/index.ts +19 -0
  55. package/tsconfig.build.tsbuildinfo +1 -1
  56. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.d.ts +0 -3
  57. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.d.ts.map +0 -1
  58. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.defs.d.ts +0 -22
  59. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.defs.d.ts.map +0 -1
  60. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.defs.js +0 -18
  61. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.defs.js.map +0 -1
  62. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.js +0 -6
  63. package/dist/lexicons/chat/bsky/group/getJoinLinkPreview.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/defs.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAMhB,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAE5C,CAAA;AAEJ,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAM5B,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAEnC,CAAA;AAEJ,OAAO,EAAE,QAAQ,EAAE,CAAA;AAanB,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAC9C,KAAK,EACL,cAAc;AACd,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE;IAC9B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAChC,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAQ,CACjC;IACD,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE;IAC1C,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAQ,CAAC;IAChE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;CAC1D,CAAC,CACH,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA;AAiBvB,MAAM,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CACrD,KAAK,EACL,qBAAqB;AACrB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE;IAC9B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CACxB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAQ,CAC1C;IACD,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE;IACtC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE;IAC1C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ;IAC7B,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAQ,CACnC,CACF;CACF,CAAC,CACH,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAW9B,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CACjD,KAAK,EACL,iBAAiB;AACjB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE;IACjC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAC9B,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAQ,CAC1C;IACD,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;CAC5D,CAAC,CACH,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ActorDefs from '../actor/defs.defs.js'\nimport * as ConvoDefs from '../convo/defs.defs.js'\n\nconst $nsid = 'chat.bsky.group.defs'\n\nexport { $nsid }\n\ntype LinkEnabledStatus = 'enabled' | 'disabled' | l.UnknownString\n\nexport type { LinkEnabledStatus }\n\nconst linkEnabledStatus = /*#__PURE__*/ l.string<{\n knownValues: ['enabled', 'disabled']\n}>()\n\nexport { linkEnabledStatus }\n\ntype JoinRule = 'anyone' | 'followedByOwner' | l.UnknownString\n\nexport type { JoinRule }\n\nconst joinRule = /*#__PURE__*/ l.string<{\n knownValues: ['anyone', 'followedByOwner']\n}>()\n\nexport { joinRule }\n\ntype JoinLinkView = {\n $type?: 'chat.bsky.group.defs#joinLinkView'\n code: string\n enabledStatus: LinkEnabledStatus\n requireApproval: boolean\n joinRule: JoinRule\n createdAt: l.DatetimeString\n}\n\nexport type { JoinLinkView }\n\nconst joinLinkView = /*#__PURE__*/ l.typedObject<JoinLinkView>(\n $nsid,\n 'joinLinkView',\n /*#__PURE__*/ l.object({\n code: /*#__PURE__*/ l.string(),\n enabledStatus: /*#__PURE__*/ l.ref<LinkEnabledStatus>(\n (() => linkEnabledStatus) as any,\n ),\n requireApproval: /*#__PURE__*/ l.boolean(),\n joinRule: /*#__PURE__*/ l.ref<JoinRule>((() => joinRule) as any),\n createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n }),\n)\n\nexport { joinLinkView }\n\ntype JoinLinkPreviewView = {\n $type?: 'chat.bsky.group.defs#joinLinkPreviewView'\n name: string\n owner: ActorDefs.ProfileViewBasic\n memberCount: number\n requireApproval: boolean\n\n /**\n * Present only if the request is authenticated and the user is a member of the group.\n */\n convo?: ConvoDefs.ConvoView\n}\n\nexport type { JoinLinkPreviewView }\n\nconst joinLinkPreviewView = /*#__PURE__*/ l.typedObject<JoinLinkPreviewView>(\n $nsid,\n 'joinLinkPreviewView',\n /*#__PURE__*/ l.object({\n name: /*#__PURE__*/ l.string(),\n owner: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n memberCount: /*#__PURE__*/ l.integer(),\n requireApproval: /*#__PURE__*/ l.boolean(),\n convo: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.ref<ConvoDefs.ConvoView>(\n (() => ConvoDefs.convoView) as any,\n ),\n ),\n }),\n)\n\nexport { joinLinkPreviewView }\n\ntype JoinRequestView = {\n $type?: 'chat.bsky.group.defs#joinRequestView'\n convoId: string\n requestedBy: ActorDefs.ProfileViewBasic\n requestedAt: l.DatetimeString\n}\n\nexport type { JoinRequestView }\n\nconst joinRequestView = /*#__PURE__*/ l.typedObject<JoinRequestView>(\n $nsid,\n 'joinRequestView',\n /*#__PURE__*/ l.object({\n convoId: /*#__PURE__*/ l.string(),\n requestedBy: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n requestedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n }),\n)\n\nexport { joinRequestView }\n"]}
1
+ {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/defs.defs.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ActorDefs from '../actor/defs.defs.js'\nimport * as ConvoDefs from '../convo/defs.defs.js'\n\nconst $nsid = 'chat.bsky.group.defs'\n\nexport { $nsid }\n\ntype LinkEnabledStatus = 'enabled' | 'disabled' | l.UnknownString\n\nexport type { LinkEnabledStatus }\n\nconst linkEnabledStatus = /*#__PURE__*/ l.string<{\n knownValues: ['enabled', 'disabled']\n}>()\n\nexport { linkEnabledStatus }\n\ntype JoinRule = 'anyone' | 'followedByOwner' | l.UnknownString\n\nexport type { JoinRule }\n\nconst joinRule = /*#__PURE__*/ l.string<{\n knownValues: ['anyone', 'followedByOwner']\n}>()\n\nexport { joinRule }\n\ntype JoinLinkView = {\n $type?: 'chat.bsky.group.defs#joinLinkView'\n code: string\n enabledStatus: LinkEnabledStatus\n requireApproval: boolean\n joinRule: JoinRule\n createdAt: l.DatetimeString\n}\n\nexport type { JoinLinkView }\n\nconst joinLinkView = /*#__PURE__*/ l.typedObject<JoinLinkView>(\n $nsid,\n 'joinLinkView',\n /*#__PURE__*/ l.object({\n code: /*#__PURE__*/ l.string(),\n enabledStatus: /*#__PURE__*/ l.ref<LinkEnabledStatus>(\n (() => linkEnabledStatus) as any,\n ),\n requireApproval: /*#__PURE__*/ l.boolean(),\n joinRule: /*#__PURE__*/ l.ref<JoinRule>((() => joinRule) as any),\n createdAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n }),\n)\n\nexport { joinLinkView }\n\ntype JoinLinkPreviewView = {\n $type?: 'chat.bsky.group.defs#joinLinkPreviewView'\n code: string\n name: string\n owner: ActorDefs.ProfileViewBasic\n memberCount: number\n memberLimit: number\n requireApproval: boolean\n joinRule: JoinRule\n enabledStatus: LinkEnabledStatus\n\n /**\n * Present only if the request is authenticated and the user is a member of the group.\n */\n convo?: ConvoDefs.ConvoView\n viewer?: JoinLinkViewerState\n}\n\nexport type { JoinLinkPreviewView }\n\nconst joinLinkPreviewView = /*#__PURE__*/ l.typedObject<JoinLinkPreviewView>(\n $nsid,\n 'joinLinkPreviewView',\n /*#__PURE__*/ l.object({\n code: /*#__PURE__*/ l.string(),\n name: /*#__PURE__*/ l.string(),\n owner: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n memberCount: /*#__PURE__*/ l.integer(),\n memberLimit: /*#__PURE__*/ l.integer(),\n requireApproval: /*#__PURE__*/ l.boolean(),\n joinRule: /*#__PURE__*/ l.ref<JoinRule>((() => joinRule) as any),\n enabledStatus: /*#__PURE__*/ l.ref<LinkEnabledStatus>(\n (() => linkEnabledStatus) as any,\n ),\n convo: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.ref<ConvoDefs.ConvoView>(\n (() => ConvoDefs.convoView) as any,\n ),\n ),\n viewer: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.ref<JoinLinkViewerState>(\n (() => joinLinkViewerState) as any,\n ),\n ),\n }),\n)\n\nexport { joinLinkPreviewView }\n\ntype JoinLinkViewerState = {\n $type?: 'chat.bsky.group.defs#joinLinkViewerState'\n requestedAt?: l.DatetimeString\n}\n\nexport type { JoinLinkViewerState }\n\nconst joinLinkViewerState = /*#__PURE__*/ l.typedObject<JoinLinkViewerState>(\n $nsid,\n 'joinLinkViewerState',\n /*#__PURE__*/ l.object({\n requestedAt: /*#__PURE__*/ l.optional(\n /*#__PURE__*/ l.string({ format: 'datetime' }),\n ),\n }),\n)\n\nexport { joinLinkViewerState }\n\ntype JoinRequestView = {\n $type?: 'chat.bsky.group.defs#joinRequestView'\n convoId: string\n requestedBy: ActorDefs.ProfileViewBasic\n requestedAt: l.DatetimeString\n}\n\nexport type { JoinRequestView }\n\nconst joinRequestView = /*#__PURE__*/ l.typedObject<JoinRequestView>(\n $nsid,\n 'joinRequestView',\n /*#__PURE__*/ l.object({\n convoId: /*#__PURE__*/ l.string(),\n requestedBy: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n requestedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n }),\n)\n\nexport { joinRequestView }\n\n/** A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count). */\ntype JoinRequestConvoView = {\n $type?: 'chat.bsky.group.defs#joinRequestConvoView'\n convoId: string\n name: string\n owner: ActorDefs.ProfileViewBasic\n memberCount: number\n memberLimit: number\n requestedAt: l.DatetimeString\n}\n\nexport type { JoinRequestConvoView }\n\n/** A join request from the perspective of the requester, including enough group context to render the request in a list (e.g. group name, owner, member count). */\nconst joinRequestConvoView = /*#__PURE__*/ l.typedObject<JoinRequestConvoView>(\n $nsid,\n 'joinRequestConvoView',\n /*#__PURE__*/ l.object({\n convoId: /*#__PURE__*/ l.string(),\n name: /*#__PURE__*/ l.string(),\n owner: /*#__PURE__*/ l.ref<ActorDefs.ProfileViewBasic>(\n (() => ActorDefs.profileViewBasic) as any,\n ),\n memberCount: /*#__PURE__*/ l.integer(),\n memberLimit: /*#__PURE__*/ l.integer(),\n requestedAt: /*#__PURE__*/ l.string({ format: 'datetime' }),\n }),\n)\n\nexport { joinRequestConvoView }\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './getJoinLinkPreviews.defs.js';
2
+ export { main as default } from './getJoinLinkPreviews.defs.js';
3
+ //# sourceMappingURL=getJoinLinkPreviews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJoinLinkPreviews.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/getJoinLinkPreviews.ts"],"names":[],"mappings":"AAIA,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { l } from '@atproto/lex';
2
+ import * as GroupDefs from './defs.defs.js';
3
+ declare const $nsid = "chat.bsky.group.getJoinLinkPreviews";
4
+ export { $nsid };
5
+ export declare const $params: l.ParamsSchema<{
6
+ readonly codes: l.ArraySchema<l.StringSchema<{}>>;
7
+ }>;
8
+ export type $Params = l.InferOutput<typeof $params>;
9
+ export declare const $output: l.Payload<"application/json", l.ObjectSchema<{
10
+ joinLinkPreviews: l.ArraySchema<l.RefSchema<l.Validator<GroupDefs.JoinLinkPreviewView, GroupDefs.JoinLinkPreviewView>>>;
11
+ }>>;
12
+ export type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;
13
+ export type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;
14
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. Get public information about groups from join links. Invalid or disabled codes are silently omitted from results. */
15
+ declare const main: l.Query<"chat.bsky.group.getJoinLinkPreviews", l.ParamsSchema<{
16
+ readonly codes: l.ArraySchema<l.StringSchema<{}>>;
17
+ }>, l.Payload<"application/json", l.ObjectSchema<{
18
+ joinLinkPreviews: l.ArraySchema<l.RefSchema<l.Validator<GroupDefs.JoinLinkPreviewView, GroupDefs.JoinLinkPreviewView>>>;
19
+ }>>, undefined>;
20
+ export { main };
21
+ export declare const $lxm = "chat.bsky.group.getJoinLinkPreviews";
22
+ //# sourceMappingURL=getJoinLinkPreviews.defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJoinLinkPreviews.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,QAAA,MAAM,KAAK,wCAAwC,CAAA;AAEnD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,eAAO,MAAM,OAAO;;EAKlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAA;AAEnD,eAAO,MAAM,OAAO;;GAMlB,CAAA;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAC5D,OAAO,OAAO,EACd,CAAC,CACF,CAAA;AAED,4NAA4N;AAC5N,QAAA,MAAM,IAAI;;;;eAAiD,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,IAAI,wCAAQ,CAAA"}
@@ -0,0 +1,22 @@
1
+ /*
2
+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
3
+ */
4
+ import { l } from '@atproto/lex';
5
+ import * as GroupDefs from './defs.defs.js';
6
+ const $nsid = 'chat.bsky.group.getJoinLinkPreviews';
7
+ export { $nsid };
8
+ export const $params = /*#__PURE__*/ l.params({
9
+ codes: /*#__PURE__*/ l.array(/*#__PURE__*/ l.string(), {
10
+ minLength: 1,
11
+ maxLength: 50,
12
+ }),
13
+ });
14
+ export const $output = /*#__PURE__*/ l.jsonPayload({
15
+ joinLinkPreviews: /*#__PURE__*/ l.array(
16
+ /*#__PURE__*/ l.ref((() => GroupDefs.joinLinkPreviewView))),
17
+ });
18
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. Get public information about groups from join links. Invalid or disabled codes are silently omitted from results. */
19
+ const main = /*#__PURE__*/ l.query($nsid, $params, $output);
20
+ export { main };
21
+ export const $lxm = $nsid;
22
+ //# sourceMappingURL=getJoinLinkPreviews.defs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJoinLinkPreviews.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/getJoinLinkPreviews.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,MAAM,KAAK,GAAG,qCAAqC,CAAA;AAEnD,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,EAAE;KACd,CAAC;CACH,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IACjD,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IACrC,aAAa,CAAC,CAAC,CAAC,GAAG,CACjB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAQ,CAC7C,CACF;CACF,CAAC,CAAA;AAQF,4NAA4N;AAC5N,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3D,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as GroupDefs from './defs.defs.js'\n\nconst $nsid = 'chat.bsky.group.getJoinLinkPreviews'\n\nexport { $nsid }\n\nexport const $params = /*#__PURE__*/ l.params({\n codes: /*#__PURE__*/ l.array(/*#__PURE__*/ l.string(), {\n minLength: 1,\n maxLength: 50,\n }),\n})\n\nexport type $Params = l.InferOutput<typeof $params>\n\nexport const $output = /*#__PURE__*/ l.jsonPayload({\n joinLinkPreviews: /*#__PURE__*/ l.array(\n /*#__PURE__*/ l.ref<GroupDefs.JoinLinkPreviewView>(\n (() => GroupDefs.joinLinkPreviewView) as any,\n ),\n ),\n})\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<\n typeof $output,\n B\n>\n\n/** [NOTE: This is under active development and should be considered unstable while this note is here]. Get public information about groups from join links. Invalid or disabled codes are silently omitted from results. */\nconst main = /*#__PURE__*/ l.query($nsid, $params, $output)\n\nexport { main }\n\nexport const $lxm = $nsid\n"]}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
3
+ */
4
+ export * from './getJoinLinkPreviews.defs.js';
5
+ export { main as default } from './getJoinLinkPreviews.defs.js';
6
+ //# sourceMappingURL=getJoinLinkPreviews.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJoinLinkPreviews.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/group/getJoinLinkPreviews.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,+BAA+B,CAAA;AAC7C,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nexport * from './getJoinLinkPreviews.defs.js'\nexport { main as default } from './getJoinLinkPreviews.defs.js'\n"]}
@@ -7,7 +7,7 @@ export * as disableJoinLink from './group/disableJoinLink.js';
7
7
  export * as editGroup from './group/editGroup.js';
8
8
  export * as editJoinLink from './group/editJoinLink.js';
9
9
  export * as enableJoinLink from './group/enableJoinLink.js';
10
- export * as getJoinLinkPreview from './group/getJoinLinkPreview.js';
10
+ export * as getJoinLinkPreviews from './group/getJoinLinkPreviews.js';
11
11
  export * as listJoinRequests from './group/listJoinRequests.js';
12
12
  export * as listMutualGroups from './group/listMutualGroups.js';
13
13
  export * as rejectJoinRequest from './group/rejectJoinRequest.js';
@@ -1 +1 @@
1
- {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/chat/bsky/group.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/chat/bsky/group.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,mBAAmB,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA"}
@@ -10,7 +10,7 @@ export * as disableJoinLink from './group/disableJoinLink.js';
10
10
  export * as editGroup from './group/editGroup.js';
11
11
  export * as editJoinLink from './group/editJoinLink.js';
12
12
  export * as enableJoinLink from './group/enableJoinLink.js';
13
- export * as getJoinLinkPreview from './group/getJoinLinkPreview.js';
13
+ export * as getJoinLinkPreviews from './group/getJoinLinkPreviews.js';
14
14
  export * as listJoinRequests from './group/listJoinRequests.js';
15
15
  export * as listMutualGroups from './group/listMutualGroups.js';
16
16
  export * as rejectJoinRequest from './group/rejectJoinRequest.js';
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/lexicons/chat/bsky/group.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nexport * as addMembers from './group/addMembers.js'\nexport * as approveJoinRequest from './group/approveJoinRequest.js'\nexport * as createGroup from './group/createGroup.js'\nexport * as createJoinLink from './group/createJoinLink.js'\nexport * as defs from './group/defs.js'\nexport * as disableJoinLink from './group/disableJoinLink.js'\nexport * as editGroup from './group/editGroup.js'\nexport * as editJoinLink from './group/editJoinLink.js'\nexport * as enableJoinLink from './group/enableJoinLink.js'\nexport * as getJoinLinkPreview from './group/getJoinLinkPreview.js'\nexport * as listJoinRequests from './group/listJoinRequests.js'\nexport * as listMutualGroups from './group/listMutualGroups.js'\nexport * as rejectJoinRequest from './group/rejectJoinRequest.js'\nexport * as removeMembers from './group/removeMembers.js'\nexport * as requestJoin from './group/requestJoin.js'\n"]}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/lexicons/chat/bsky/group.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,mBAAmB,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAA;AAC/D,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nexport * as addMembers from './group/addMembers.js'\nexport * as approveJoinRequest from './group/approveJoinRequest.js'\nexport * as createGroup from './group/createGroup.js'\nexport * as createJoinLink from './group/createJoinLink.js'\nexport * as defs from './group/defs.js'\nexport * as disableJoinLink from './group/disableJoinLink.js'\nexport * as editGroup from './group/editGroup.js'\nexport * as editJoinLink from './group/editJoinLink.js'\nexport * as enableJoinLink from './group/enableJoinLink.js'\nexport * as getJoinLinkPreviews from './group/getJoinLinkPreviews.js'\nexport * as listJoinRequests from './group/listJoinRequests.js'\nexport * as listMutualGroups from './group/listMutualGroups.js'\nexport * as rejectJoinRequest from './group/rejectJoinRequest.js'\nexport * as removeMembers from './group/removeMembers.js'\nexport * as requestJoin from './group/requestJoin.js'\n"]}
package/dist/logger.d.ts CHANGED
@@ -8,6 +8,7 @@ export declare const hydrationLogger: ReturnType<typeof subsystemLogger>;
8
8
  export declare const featureGatesLogger: ReturnType<typeof subsystemLogger>;
9
9
  export declare const dataplaneLogger: ReturnType<typeof subsystemLogger>;
10
10
  export declare const ageAssuranceLogger: ReturnType<typeof subsystemLogger>;
11
+ export declare const viewsLogger: ReturnType<typeof subsystemLogger>;
11
12
  export declare const httpLogger: ReturnType<typeof subsystemLogger>;
12
13
  export declare const loggerMiddleware: import("pino-http").HttpLogger<IncomingMessage, import("http").ServerResponse<IncomingMessage>, never>;
13
14
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAoB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEnE,eAAO,MAAM,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AAC5B,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AAC/B,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AAC7B,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AACjC,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AACnC,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AACtC,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CACnC,CAAA;AAC5B,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,OAAO,eAAe,CACtC,CAAA;AAC5B,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,OAAO,eAAe,CACjC,CAAA;AAEzB,eAAO,MAAM,gBAAgB,wGAa3B,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,OAAO,EAAoB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEnE,eAAO,MAAM,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AAC5B,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AAC/B,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AAC7B,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AACjC,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AACnC,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AACtC,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC,OAAO,eAAe,CACnC,CAAA;AAC5B,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,OAAO,eAAe,CACtC,CAAA;AAC5B,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC,OAAO,eAAe,CAC5B,CAAA;AAC/B,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,OAAO,eAAe,CACjC,CAAA;AAEzB,eAAO,MAAM,gBAAgB,wGAa3B,CAAA"}
package/dist/logger.js CHANGED
@@ -9,6 +9,7 @@ export const hydrationLogger = subsystemLogger('bsky:hydration');
9
9
  export const featureGatesLogger = subsystemLogger('bsky:featuregates');
10
10
  export const dataplaneLogger = subsystemLogger('bsky:dp');
11
11
  export const ageAssuranceLogger = subsystemLogger('bsky:aa');
12
+ export const viewsLogger = subsystemLogger('bsky:views');
12
13
  export const httpLogger = subsystemLogger('bsky');
13
14
  export const loggerMiddleware = pinoHttp({
14
15
  logger: httpLogger,
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,CAAC,MAAM,QAAQ,GACnB,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,WAAW,GACtB,eAAe,CAAC,YAAY,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,SAAS,GACpB,eAAe,CAAC,UAAU,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,aAAa,GACxB,eAAe,CAAC,cAAc,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,eAAe,GAC1B,eAAe,CAAC,gBAAgB,CAAC,CAAA;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAC7B,eAAe,CAAC,mBAAmB,CAAC,CAAA;AACtC,MAAM,CAAC,MAAM,eAAe,GAC1B,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,kBAAkB,GAC7B,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,UAAU,GACrB,eAAe,CAAC,MAAM,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACvC,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE;QACX,GAAG,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;SAC1B,CAAC;QACF,GAAG,EAAE,CAAC,GAAoB,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACpD,OAAO,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAA;QACnC,CAAC;KACF;CACF,CAAC,CAAA","sourcesContent":["import { IncomingMessage } from 'node:http'\nimport { stdSerializers } from 'pino'\nimport { pinoHttp } from 'pino-http'\nimport { obfuscateHeaders, subsystemLogger } from '@atproto/common'\n\nexport const dbLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:db')\nexport const cacheLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:cache')\nexport const subLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:sub')\nexport const labelerLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:labeler')\nexport const hydrationLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:hydration')\nexport const featureGatesLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:featuregates')\nexport const dataplaneLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:dp')\nexport const ageAssuranceLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:aa')\nexport const httpLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky')\n\nexport const loggerMiddleware = pinoHttp({\n logger: httpLogger,\n serializers: {\n err: (err: unknown) => ({\n code: err?.['code'],\n message: err?.['message'],\n }),\n req: (req: IncomingMessage) => {\n const serialized = stdSerializers.req(req)\n const headers = obfuscateHeaders(serialized.headers)\n return { ...serialized, headers }\n },\n },\n})\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,CAAC,MAAM,QAAQ,GACnB,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,WAAW,GACtB,eAAe,CAAC,YAAY,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,SAAS,GACpB,eAAe,CAAC,UAAU,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,aAAa,GACxB,eAAe,CAAC,cAAc,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,eAAe,GAC1B,eAAe,CAAC,gBAAgB,CAAC,CAAA;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAC7B,eAAe,CAAC,mBAAmB,CAAC,CAAA;AACtC,MAAM,CAAC,MAAM,eAAe,GAC1B,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,kBAAkB,GAC7B,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,WAAW,GACtB,eAAe,CAAC,YAAY,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,UAAU,GACrB,eAAe,CAAC,MAAM,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACvC,MAAM,EAAE,UAAU;IAClB,WAAW,EAAE;QACX,GAAG,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;SAC1B,CAAC;QACF,GAAG,EAAE,CAAC,GAAoB,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACpD,OAAO,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,CAAA;QACnC,CAAC;KACF;CACF,CAAC,CAAA","sourcesContent":["import { IncomingMessage } from 'node:http'\nimport { stdSerializers } from 'pino'\nimport { pinoHttp } from 'pino-http'\nimport { obfuscateHeaders, subsystemLogger } from '@atproto/common'\n\nexport const dbLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:db')\nexport const cacheLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:cache')\nexport const subLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:sub')\nexport const labelerLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:labeler')\nexport const hydrationLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:hydration')\nexport const featureGatesLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:featuregates')\nexport const dataplaneLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:dp')\nexport const ageAssuranceLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:aa')\nexport const viewsLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky:views')\nexport const httpLogger: ReturnType<typeof subsystemLogger> =\n subsystemLogger('bsky')\n\nexport const loggerMiddleware = pinoHttp({\n logger: httpLogger,\n serializers: {\n err: (err: unknown) => ({\n code: err?.['code'],\n message: err?.['message'],\n }),\n req: (req: IncomingMessage) => {\n const serialized = stdSerializers.req(req)\n const headers = obfuscateHeaders(serialized.headers)\n return { ...serialized, headers }\n },\n },\n})\n"]}
@@ -12,11 +12,18 @@ export declare const parseSiteStandardRecordKey: (key: string) => {
12
12
  cid: string;
13
13
  };
14
14
  /**
15
- * Confirm that the supplied SS records actually back `assumedUrl`. URL
16
- * comparison parses both sides via the WHATWG URL constructor (resolving
17
- * the document's `path` against the publication or site as a base) and
18
- * compares the canonical `protocol://host/path` forms — host case is
19
- * ignored, query/fragment are dropped, trailing slashes stripped.
15
+ * Confirm that the supplied SS records actually back `assumedUrl`. The
16
+ * record-side URL is built by concatenating the publication URL (or the
17
+ * loose-doc site) with the document's `path` field, then both sides are
18
+ * canonicalized for equality: lowercase host, query/fragment dropped,
19
+ * trailing slash stripped.
20
+ *
21
+ * Path concatenation is `base + '/' + path` semantics — a leading `/` on
22
+ * `path` does NOT swallow the base's pathname (the way
23
+ * `new URL(path, base)` would). So
24
+ * `'https://atproto.com/blog' + '/indexing-standard-site'` resolves to
25
+ * `https://atproto.com/blog/indexing-standard-site` regardless of which
26
+ * side carries the slash.
20
27
  *
21
28
  * Structural validation of the doc/pub pair (matching `site` ↔ pub URI,
22
29
  * no orphan docs that claim a missing publication) happens upstream in
@@ -1 +1 @@
1
- {"version":3,"file":"standard-site.d.ts","sourceRoot":"","sources":["../../src/util/standard-site.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,eAAO,MAAM,yBAAyB,mBAAmB,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,WAC7C,CAAA;AAEjB,eAAO,MAAM,0BAA0B,GACrC,KAAK,MAAM,KACV;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAMjC,CAAA;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,0BAA0B,GACrC,UACI;IACE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpB,IAAI,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAClD,GACD,SAAS,EACb,aACI;IAAE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE;QAAE,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GAC3D,SAAS,EACb,YAAY,MAAM,KACjB,OAsBF,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,MAAM,MAAM,KACX,MAAM,GAAG,SAIX,CAAA"}
1
+ {"version":3,"file":"standard-site.d.ts","sourceRoot":"","sources":["../../src/util/standard-site.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,eAAO,MAAM,yBAAyB,mBAAmB,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,WAC7C,CAAA;AAEjB,eAAO,MAAM,0BAA0B,GACrC,KAAK,MAAM,KACV;IAAE,GAAG,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAMjC,CAAA;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,0BAA0B,GACrC,UACI;IACE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpB,IAAI,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAClD,GACD,SAAS,EACb,aACI;IAAE,GAAG,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE;QAAE,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GAC3D,SAAS,EACb,YAAY,MAAM,KACjB,OAoBF,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,MAAM,MAAM,KACX,MAAM,GAAG,SAIX,CAAA"}
@@ -19,10 +19,10 @@ export const parseSiteStandardRecordKey = (key) => {
19
19
  * strips a trailing slash from the path, and drops query/fragment. Returns
20
20
  * `null` when the input isn't a valid HTTP(S) URL.
21
21
  */
22
- const canonicalizeHttpUrl = (url, base) => {
22
+ const canonicalizeHttpUrl = (url) => {
23
23
  let parsed;
24
24
  try {
25
- parsed = new URL(url, base);
25
+ parsed = new URL(url);
26
26
  }
27
27
  catch {
28
28
  return null;
@@ -33,11 +33,32 @@ const canonicalizeHttpUrl = (url, base) => {
33
33
  return `${parsed.protocol}//${parsed.host}${path}`;
34
34
  };
35
35
  /**
36
- * Confirm that the supplied SS records actually back `assumedUrl`. URL
37
- * comparison parses both sides via the WHATWG URL constructor (resolving
38
- * the document's `path` against the publication or site as a base) and
39
- * compares the canonical `protocol://host/path` forms — host case is
40
- * ignored, query/fragment are dropped, trailing slashes stripped.
36
+ * Append `path` to `base` with exactly one slash between, or return `base`
37
+ * unchanged when `path` is empty. Unlike `new URL(path, base)`, a leading
38
+ * slash on `path` does NOT swallow `base`'s pathname so
39
+ * `joinPath('https://x.com/blog', '/foo')` is `https://x.com/blog/foo`,
40
+ * not `https://x.com/foo`.
41
+ */
42
+ const joinPath = (base, path) => {
43
+ if (!path)
44
+ return base;
45
+ const baseTrimmed = base.endsWith('/') ? base.slice(0, -1) : base;
46
+ const pathTrimmed = path.startsWith('/') ? path.slice(1) : path;
47
+ return `${baseTrimmed}/${pathTrimmed}`;
48
+ };
49
+ /**
50
+ * Confirm that the supplied SS records actually back `assumedUrl`. The
51
+ * record-side URL is built by concatenating the publication URL (or the
52
+ * loose-doc site) with the document's `path` field, then both sides are
53
+ * canonicalized for equality: lowercase host, query/fragment dropped,
54
+ * trailing slash stripped.
55
+ *
56
+ * Path concatenation is `base + '/' + path` semantics — a leading `/` on
57
+ * `path` does NOT swallow the base's pathname (the way
58
+ * `new URL(path, base)` would). So
59
+ * `'https://atproto.com/blog' + '/indexing-standard-site'` resolves to
60
+ * `https://atproto.com/blog/indexing-standard-site` regardless of which
61
+ * side carries the slash.
41
62
  *
42
63
  * Structural validation of the doc/pub pair (matching `site` ↔ pub URI,
43
64
  * no orphan docs that claim a missing publication) happens upstream in
@@ -62,11 +83,11 @@ export const validateStandardSiteForUrl = (document, publication, assumedUrl) =>
62
83
  if (canonicalAssumed === null)
63
84
  return false;
64
85
  if (document && publication) {
65
- const joined = canonicalizeHttpUrl(document.info.record.path ?? '', publication.info.record.url);
86
+ const joined = canonicalizeHttpUrl(joinPath(publication.info.record.url, document.info.record.path ?? ''));
66
87
  return joined === canonicalAssumed;
67
88
  }
68
89
  if (document) {
69
- const joined = canonicalizeHttpUrl(document.info.record.path ?? '', document.info.record.site);
90
+ const joined = canonicalizeHttpUrl(joinPath(document.info.record.site, document.info.record.path ?? ''));
70
91
  return joined === canonicalAssumed;
71
92
  }
72
93
  if (publication) {
@@ -1 +1 @@
1
- {"version":3,"file":"standard-site.js","sourceRoot":"","sources":["../../src/util/standard-site.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAChE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;AAEjB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,GAAW,EACwB,EAAE;IACrC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC/B,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAgB;QACpC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;KACvB,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,IAAa,EAAiB,EAAE;IACxE,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC9E,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAA;AACpD,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,QAKa,EACb,WAEa,EACb,UAAkB,EACT,EAAE;IACX,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACxD,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAE3C,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAC/B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAC5B,CAAA;QACD,OAAO,MAAM,KAAK,gBAAgB,CAAA;IACpC,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAC/B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAC1B,CAAA;QACD,OAAO,MAAM,KAAK,gBAAgB,CAAA;IACpC,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAA;IAC9E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,IAAY,EACQ,EAAE;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IAC7D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAA;AACzD,CAAC,CAAA","sourcesContent":["import { AtUriString } from '@atproto/syntax'\n\nexport const SITE_STANDARD_NSID_PREFIX = 'site.standard.'\n\n/**\n * Composes a stable map key from an `(uri, cid)` pair. A single hydration\n * batch can pull more than one version of the same SS record URI (different\n * posts pinning different cids), so the composite is needed for O(1)\n * version-exact lookups.\n */\nexport const siteStandardRecordKey = (uri: string, cid: string) =>\n `${uri}@${cid}`\n\nexport const parseSiteStandardRecordKey = (\n key: string,\n): { uri: AtUriString; cid: string } => {\n const at = key.lastIndexOf('@')\n return {\n uri: key.slice(0, at) as AtUriString,\n cid: key.slice(at + 1),\n }\n}\n\n/**\n * Parse `url` as HTTP(S) and reduce it to a canonical\n * `protocol://host/path` string for equality comparison: lowercases host,\n * strips a trailing slash from the path, and drops query/fragment. Returns\n * `null` when the input isn't a valid HTTP(S) URL.\n */\nconst canonicalizeHttpUrl = (url: string, base?: string): string | null => {\n let parsed: URL\n try {\n parsed = new URL(url, base)\n } catch {\n return null\n }\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') return null\n const path = parsed.pathname === '/' ? '' : parsed.pathname.replace(/\\/$/, '')\n return `${parsed.protocol}//${parsed.host}${path}`\n}\n\n/**\n * Confirm that the supplied SS records actually back `assumedUrl`. URL\n * comparison parses both sides via the WHATWG URL constructor (resolving\n * the document's `path` against the publication or site as a base) and\n * compares the canonical `protocol://host/path` formshost case is\n * ignored, query/fragment are dropped, trailing slashes stripped.\n *\n * Structural validation of the doc/pub pair (matching `site` ↔ pub URI,\n * no orphan docs that claim a missing publication) happens upstream in\n * `getSiteStandardRecordsFromHydrationMapsByRefs` /\n * `…ByDocumentUri` (see `hydration/external.ts`); by the time this\n * function runs the pair is already known to be structurally consistent,\n * so we only check whether the records back the URL.\n *\n * Cases:\n * - Document + publication: `publication.url + document.path` must\n * canonicalize to `assumedUrl`.\n * - Loose document (web-URL `site`): `document.site + document.path`\n * must canonicalize to `assumedUrl`. (Doc with at-uri `site` but no\n * publication can't reach this function — the lookups reject it.)\n * - Publication only: `publication.url` must canonicalize to\n * `assumedUrl`.\n * - Neither: vacuously valid; the caller short-circuits before we get\n * here.\n */\nexport const validateStandardSiteForUrl = (\n document:\n | {\n ref: { uri: string }\n info: { record: { site: string; path?: string } }\n }\n | undefined,\n publication:\n | { ref: { uri: string }; info: { record: { url: string } } }\n | undefined,\n assumedUrl: string,\n): boolean => {\n const canonicalAssumed = canonicalizeHttpUrl(assumedUrl)\n if (canonicalAssumed === null) return false\n\n if (document && publication) {\n const joined = canonicalizeHttpUrl(\n document.info.record.path ?? '',\n publication.info.record.url,\n )\n return joined === canonicalAssumed\n }\n if (document) {\n const joined = canonicalizeHttpUrl(\n document.info.record.path ?? '',\n document.info.record.site,\n )\n return joined === canonicalAssumed\n }\n if (publication) {\n return canonicalizeHttpUrl(publication.info.record.url) === canonicalAssumed\n }\n return true\n}\n\nconst WORDS_PER_MINUTE = 200\n\n/**\n * Estimate reading time in minutes from a plaintext document body. Returns\n * `undefined` when the input has no countable words. Uses a coarse\n * `WORDS_PER_MINUTE` heuristic; swap in a more accurate library here if\n * needed (e.g. `reading-time`).\n */\nexport const estimateReadingTimeMinutes = (\n text: string,\n): number | undefined => {\n const words = text.trim().split(/\\s+/).filter(Boolean).length\n if (!words) return undefined\n return Math.max(1, Math.ceil(words / WORDS_PER_MINUTE))\n}\n"]}
1
+ {"version":3,"file":"standard-site.js","sourceRoot":"","sources":["../../src/util/standard-site.ts"],"names":[],"mappings":"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","sourcesContent":["import { AtUriString } from '@atproto/syntax'\n\nexport const SITE_STANDARD_NSID_PREFIX = 'site.standard.'\n\n/**\n * Composes a stable map key from an `(uri, cid)` pair. A single hydration\n * batch can pull more than one version of the same SS record URI (different\n * posts pinning different cids), so the composite is needed for O(1)\n * version-exact lookups.\n */\nexport const siteStandardRecordKey = (uri: string, cid: string) =>\n `${uri}@${cid}`\n\nexport const parseSiteStandardRecordKey = (\n key: string,\n): { uri: AtUriString; cid: string } => {\n const at = key.lastIndexOf('@')\n return {\n uri: key.slice(0, at) as AtUriString,\n cid: key.slice(at + 1),\n }\n}\n\n/**\n * Parse `url` as HTTP(S) and reduce it to a canonical\n * `protocol://host/path` string for equality comparison: lowercases host,\n * strips a trailing slash from the path, and drops query/fragment. Returns\n * `null` when the input isn't a valid HTTP(S) URL.\n */\nconst canonicalizeHttpUrl = (url: string): string | null => {\n let parsed: URL\n try {\n parsed = new URL(url)\n } catch {\n return null\n }\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') return null\n const path = parsed.pathname === '/' ? '' : parsed.pathname.replace(/\\/$/, '')\n return `${parsed.protocol}//${parsed.host}${path}`\n}\n\n/**\n * Append `path` to `base` with exactly one slash between, or return `base`\n * unchanged when `path` is empty. Unlike `new URL(path, base)`, a leading\n * slash on `path` does NOT swallow `base`'s pathname — so\n * `joinPath('https://x.com/blog', '/foo')` is `https://x.com/blog/foo`,\n * not `https://x.com/foo`.\n */\nconst joinPath = (base: string, path: string): string => {\n if (!path) return base\n const baseTrimmed = base.endsWith('/') ? base.slice(0, -1) : base\n const pathTrimmed = path.startsWith('/') ? path.slice(1) : path\n return `${baseTrimmed}/${pathTrimmed}`\n}\n\n/**\n * Confirm that the supplied SS records actually back `assumedUrl`. The\n * record-side URL is built by concatenating the publication URL (or the\n * loose-doc site) with the document's `path` field, then both sides are\n * canonicalized for equality: lowercase host, query/fragment dropped,\n * trailing slash stripped.\n *\n * Path concatenation is `base + '/' + path` semanticsa leading `/` on\n * `path` does NOT swallow the base's pathname (the way\n * `new URL(path, base)` would). So\n * `'https://atproto.com/blog' + '/indexing-standard-site'` resolves to\n * `https://atproto.com/blog/indexing-standard-site` regardless of which\n * side carries the slash.\n *\n * Structural validation of the doc/pub pair (matching `site` ↔ pub URI,\n * no orphan docs that claim a missing publication) happens upstream in\n * `getSiteStandardRecordsFromHydrationMapsByRefs` /\n * `…ByDocumentUri` (see `hydration/external.ts`); by the time this\n * function runs the pair is already known to be structurally consistent,\n * so we only check whether the records back the URL.\n *\n * Cases:\n * - Document + publication: `publication.url + document.path` must\n * canonicalize to `assumedUrl`.\n * - Loose document (web-URL `site`): `document.site + document.path`\n * must canonicalize to `assumedUrl`. (Doc with at-uri `site` but no\n * publication can't reach this function — the lookups reject it.)\n * - Publication only: `publication.url` must canonicalize to\n * `assumedUrl`.\n * - Neither: vacuously valid; the caller short-circuits before we get\n * here.\n */\nexport const validateStandardSiteForUrl = (\n document:\n | {\n ref: { uri: string }\n info: { record: { site: string; path?: string } }\n }\n | undefined,\n publication:\n | { ref: { uri: string }; info: { record: { url: string } } }\n | undefined,\n assumedUrl: string,\n): boolean => {\n const canonicalAssumed = canonicalizeHttpUrl(assumedUrl)\n if (canonicalAssumed === null) return false\n\n if (document && publication) {\n const joined = canonicalizeHttpUrl(\n joinPath(publication.info.record.url, document.info.record.path ?? ''),\n )\n return joined === canonicalAssumed\n }\n if (document) {\n const joined = canonicalizeHttpUrl(\n joinPath(document.info.record.site, document.info.record.path ?? ''),\n )\n return joined === canonicalAssumed\n }\n if (publication) {\n return canonicalizeHttpUrl(publication.info.record.url) === canonicalAssumed\n }\n return true\n}\n\nconst WORDS_PER_MINUTE = 200\n\n/**\n * Estimate reading time in minutes from a plaintext document body. Returns\n * `undefined` when the input has no countable words. Uses a coarse\n * `WORDS_PER_MINUTE` heuristic; swap in a more accurate library here if\n * needed (e.g. `reading-time`).\n */\nexport const estimateReadingTimeMinutes = (\n text: string,\n): number | undefined => {\n const words = text.trim().split(/\\s+/).filter(Boolean).length\n if (!words) return undefined\n return Math.max(1, Math.ceil(words / WORDS_PER_MINUTE))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/views/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/views/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { AtUri, INVALID_HANDLE, normalizeDatetimeAlways, } from '@atproto/syntax
4
4
  import { getSiteStandardRecordsFromHydrationMapsByRefs, } from '../hydration/external.js';
5
5
  import { parseString } from '../hydration/util.js';
6
6
  import { app, site } from '../lexicons/index.js';
7
+ import { viewsLogger } from '../logger.js';
7
8
  import { estimateReadingTimeMinutes, validateStandardSiteForUrl, } from '../util/standard-site.js';
8
9
  import { postUriToPostgateUri, postUriToThreadgateUri, safePinnedPost, uriToDid, uriToDid as creatorFromUri, } from '../util/uris.js';
9
10
  import { sortTrimFlattenThreadTree, } from './threads-v2.js';
@@ -1484,6 +1485,11 @@ export class Views {
1484
1485
  state,
1485
1486
  assumedUrl: embed.external.uri,
1486
1487
  });
1488
+ // Profiles of the owners of pinned `associatedRefs`. Hydrator covers
1489
+ // these DIDs alongside post-author profiles, so misses here only
1490
+ // happen when an actor is unavailable (suspended, deleted, etc.) —
1491
+ // drop those rather than emit `undefined` slots.
1492
+ const associatedProfiles = mapDefined(embed.external.associatedRefs ?? [], (ref) => this.profileBasic(uriToDid(ref.uri), state));
1487
1493
  return app.bsky.embed.external.view.$build({
1488
1494
  external: {
1489
1495
  uri: embed.external.uri,
@@ -1494,6 +1500,9 @@ export class Views {
1494
1500
  : undefined,
1495
1501
  ...ssView,
1496
1502
  associatedRefs: embed.external.associatedRefs,
1503
+ associatedProfiles: associatedProfiles.length
1504
+ ? associatedProfiles
1505
+ : undefined,
1497
1506
  },
1498
1507
  });
1499
1508
  }
@@ -1560,6 +1569,10 @@ export class Views {
1560
1569
  if (!document && !publication)
1561
1570
  return undefined;
1562
1571
  if (!validateStandardSiteForUrl(document, publication, assumedUrl)) {
1572
+ viewsLogger.warn({
1573
+ documentUri: document?.ref.uri,
1574
+ publicationUri: publication?.ref.uri,
1575
+ }, 'SS record(s) failed URL validation for external embed');
1563
1576
  return undefined;
1564
1577
  }
1565
1578
  // viewExternal requires `title` and `description`. If neither side of