From a70b9d08c4ed19b5795ef7f611635601d806d8e4 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Sun, 15 Mar 2026 01:02:56 +0900 Subject: [PATCH 1/5] Update preloaded GoToSocial namespace context for v0.21+ The preloaded `https://gotosocial.org/ns` JSON-LD context was outdated, containing only the deprecated property names (`always`, `approvalRequired`). Update it to match the current GoToSocial v0.21+ namespace, which includes: - New type terms: `LikeRequest`, `ReplyRequest`, `AnnounceRequest`, `LikeAuthorization`, `ReplyAuthorization`, `AnnounceAuthorization`, `QuoteRequest`, `QuoteAuthorization` - New property terms: `automaticApproval`, `manualApproval`, `interactingObject`, `interactionTarget`, `likeAuthorization`, `replyAuthorization`, `announceAuthorization`, `canQuote`, `quoteAuthorization` - Boolean properties: `hidesToPublicFromUnauthedWeb`, `hidesCcPublicFromUnauthedWeb` - Deprecated terms retained for backward compatibility Part of https://github.com/fedify-dev/fedify/issues/453 Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/vocab-runtime/src/contexts.ts | 61 ++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/packages/vocab-runtime/src/contexts.ts b/packages/vocab-runtime/src/contexts.ts index 1724fda70..37a440a3d 100644 --- a/packages/vocab-runtime/src/contexts.ts +++ b/packages/vocab-runtime/src/contexts.ts @@ -4247,7 +4247,16 @@ const preloadedContexts: Record = { }, "https://gotosocial.org/ns": { "@context": { + "xsd": "http://www.w3.org/2001/XMLSchema#", "gts": "https://gotosocial.org/ns#", + "LikeRequest": "gts:LikeRequest", + "ReplyRequest": "gts:ReplyRequest", + "AnnounceRequest": "gts:AnnounceRequest", + "LikeAuthorization": "gts:LikeAuthorization", + "ReplyAuthorization": "gts:ReplyAuthorization", + "AnnounceAuthorization": "gts:AnnounceAuthorization", + "QuoteRequest": "gts:QuoteRequest", + "QuoteAuthorization": "gts:QuoteAuthorization", "interactionPolicy": { "@id": "gts:interactionPolicy", "@type": "@id", @@ -4264,18 +4273,62 @@ const preloadedContexts: Record = { "@id": "gts:canAnnounce", "@type": "@id", }, - "always": { - "@id": "gts:always", + "canQuote": { + "@id": "gts:canQuote", "@type": "@id", }, - "approvalRequired": { - "@id": "gts:approvalRequired", + "automaticApproval": { + "@id": "gts:automaticApproval", + "@type": "@id", + }, + "manualApproval": { + "@id": "gts:manualApproval", + "@type": "@id", + }, + "interactingObject": { + "@id": "gts:interactingObject", + "@type": "@id", + }, + "interactionTarget": { + "@id": "gts:interactionTarget", + "@type": "@id", + }, + "likeAuthorization": { + "@id": "gts:likeAuthorization", + "@type": "@id", + }, + "replyAuthorization": { + "@id": "gts:replyAuthorization", + "@type": "@id", + }, + "announceAuthorization": { + "@id": "gts:announceAuthorization", + "@type": "@id", + }, + "quoteAuthorization": { + "@id": "gts:quoteAuthorization", "@type": "@id", }, "approvedBy": { "@id": "gts:approvedBy", "@type": "@id", }, + "approvalRequired": { + "@id": "gts:approvalRequired", + "@type": "@id", + }, + "always": { + "@id": "gts:always", + "@type": "@id", + }, + "hidesToPublicFromUnauthedWeb": { + "@id": "gts:hidesToPublicFromUnauthedWeb", + "@type": "xsd:boolean", + }, + "hidesCcPublicFromUnauthedWeb": { + "@id": "gts:hidesCcPublicFromUnauthedWeb", + "@type": "xsd:boolean", + }, }, }, "https://w3id.org/fep/5711": { From d8e6cc65817c05eff960ac48f7e881d1f541a91e Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Sun, 15 Mar 2026 01:03:21 +0900 Subject: [PATCH 2/5] Add GoToSocial interaction controls vocabulary Add type-safe vocabulary support for GoToSocial's interaction controls, which allow post authors to specify who can like, reply to, or announce their posts and to approve interactions. New typeless embedded types (like Endpoints): - InteractionPolicy: attached to posts via interactionPolicy, contains canLike, canReply, and canAnnounce sub-policies - InteractionRule: each sub-policy with automaticApproval and manualApproval URI lists New Activity subtypes for requesting interaction approval: - LikeRequest, ReplyRequest, AnnounceRequest New Object subtypes for proving approved interactions: - LikeAuthorization, ReplyAuthorization, AnnounceAuthorization (with interactingObject and interactionTarget properties) New properties on Object: - interactionPolicy, approvedBy, likeAuthorization, replyAuthorization, announceAuthorization All Object subtypes now include the GoToSocial namespace context (https://gotosocial.org/ns) in their defaultContext so that inherited GTS properties serialize correctly in compact JSON-LD. Part of https://github.com/fedify-dev/fedify/issues/453 Co-Authored-By: Claude Opus 4.6 (1M context) --- deno.lock | 3 + .../fedify/src/federation/handler.test.ts | 14 + packages/fedify/src/sig/proof.test.ts | 4 +- .../src/fixtures/gotosocial.org/ns.json | 86 + .../src/__snapshots__/class.test.ts.deno.snap | 6577 ++++++++++++++++- .../src/__snapshots__/class.test.ts.node.snap | 6577 ++++++++++++++++- .../src/__snapshots__/class.test.ts.snap | 6577 ++++++++++++++++- .../src/__snapshots__/vocab.test.ts.snap | 1790 ++++- packages/vocab/src/accept.yaml | 1 + packages/vocab/src/activity.yaml | 1 + packages/vocab/src/add.yaml | 1 + packages/vocab/src/announce.yaml | 1 + packages/vocab/src/announceauthorization.yaml | 40 + packages/vocab/src/announcerequest.yaml | 24 + packages/vocab/src/application.yaml | 1 + packages/vocab/src/arrive.yaml | 1 + packages/vocab/src/article.yaml | 1 + packages/vocab/src/audio.yaml | 1 + packages/vocab/src/block.yaml | 1 + packages/vocab/src/chatmessage.yaml | 1 + packages/vocab/src/collection.yaml | 1 + packages/vocab/src/collectionpage.yaml | 1 + packages/vocab/src/create.yaml | 1 + packages/vocab/src/delete.yaml | 1 + packages/vocab/src/dislike.yaml | 1 + packages/vocab/src/document.yaml | 1 + packages/vocab/src/emojireact.yaml | 1 + packages/vocab/src/event.yaml | 1 + packages/vocab/src/flag.yaml | 1 + packages/vocab/src/follow.yaml | 1 + packages/vocab/src/group.yaml | 1 + packages/vocab/src/ignore.yaml | 1 + packages/vocab/src/image.yaml | 5 +- packages/vocab/src/interactionpolicy.yaml | 54 + packages/vocab/src/interactionrule.yaml | 50 + packages/vocab/src/intransitiveactivity.yaml | 1 + packages/vocab/src/invite.yaml | 1 + packages/vocab/src/join.yaml | 1 + packages/vocab/src/leave.yaml | 1 + packages/vocab/src/like.yaml | 1 + packages/vocab/src/likeauthorization.yaml | 39 + packages/vocab/src/likerequest.yaml | 23 + packages/vocab/src/listen.yaml | 1 + packages/vocab/src/move.yaml | 1 + packages/vocab/src/note.yaml | 1 + packages/vocab/src/object.yaml | 61 + packages/vocab/src/offer.yaml | 1 + packages/vocab/src/orderedcollection.yaml | 1 + packages/vocab/src/orderedcollectionpage.yaml | 1 + packages/vocab/src/organization.yaml | 1 + packages/vocab/src/page.yaml | 1 + packages/vocab/src/person.yaml | 1 + packages/vocab/src/place.yaml | 1 + packages/vocab/src/profile.yaml | 1 + packages/vocab/src/question.yaml | 1 + packages/vocab/src/read.yaml | 1 + packages/vocab/src/reject.yaml | 1 + packages/vocab/src/relationship.yaml | 1 + packages/vocab/src/remove.yaml | 1 + packages/vocab/src/replyauthorization.yaml | 39 + packages/vocab/src/replyrequest.yaml | 23 + packages/vocab/src/service.yaml | 1 + packages/vocab/src/tentativeaccept.yaml | 1 + packages/vocab/src/tentativereject.yaml | 1 + packages/vocab/src/tombstone.yaml | 1 + packages/vocab/src/travel.yaml | 1 + packages/vocab/src/undo.yaml | 1 + packages/vocab/src/update.yaml | 1 + packages/vocab/src/video.yaml | 1 + packages/vocab/src/view.yaml | 1 + packages/vocab/src/vocab.test.ts | 8 +- 71 files changed, 21207 insertions(+), 839 deletions(-) create mode 100644 packages/fixture/src/fixtures/gotosocial.org/ns.json create mode 100644 packages/vocab/src/announceauthorization.yaml create mode 100644 packages/vocab/src/announcerequest.yaml create mode 100644 packages/vocab/src/interactionpolicy.yaml create mode 100644 packages/vocab/src/interactionrule.yaml create mode 100644 packages/vocab/src/likeauthorization.yaml create mode 100644 packages/vocab/src/likerequest.yaml create mode 100644 packages/vocab/src/replyauthorization.yaml create mode 100644 packages/vocab/src/replyrequest.yaml diff --git a/deno.lock b/deno.lock index 1b93a1cc5..9608d537f 100644 --- a/deno.lock +++ b/deno.lock @@ -24,6 +24,7 @@ "jsr:@optique/config@~0.10.6": "0.10.6", "jsr:@optique/core@~0.10.6": "0.10.6", "jsr:@optique/run@~0.10.6": "0.10.6", + "jsr:@std/assert@*": "1.0.18", "jsr:@std/assert@0.224": "0.224.0", "jsr:@std/assert@0.226": "0.226.0", "jsr:@std/assert@^1.0.13": "1.0.18", @@ -46,6 +47,7 @@ "jsr:@std/internal@0.224": "0.224.0", "jsr:@std/internal@1": "1.0.12", "jsr:@std/internal@^1.0.12": "1.0.12", + "jsr:@std/internal@^1.0.6": "1.0.12", "jsr:@std/io@0.225": "0.225.3", "jsr:@std/json@^1.0.2": "1.0.2", "jsr:@std/jsonc@^1.0.2": "1.0.2", @@ -60,6 +62,7 @@ "jsr:@std/path@^1.1.4": "1.1.4", "jsr:@std/semver@^1.0.6": "1.0.8", "jsr:@std/testing@0.224": "0.224.0", + "jsr:@std/testing@0.224.0": "0.224.0", "jsr:@std/url@~0.225.1": "0.225.1", "jsr:@std/uuid@^1.0.9": "1.1.0", "jsr:@std/yaml@^1.0.8": "1.0.10", diff --git a/packages/fedify/src/federation/handler.test.ts b/packages/fedify/src/federation/handler.test.ts index 9ff081886..41c4e55f6 100644 --- a/packages/fedify/src/federation/handler.test.ts +++ b/packages/fedify/src/federation/handler.test.ts @@ -134,6 +134,7 @@ test("handleActor()", async () => { "https://w3id.org/security/data-integrity/v1", "https://www.w3.org/ns/did/v1", "https://w3id.org/security/multikey/v1", + "https://gotosocial.org/ns", { alsoKnownAs: { "@id": "as:alsoKnownAs", @@ -236,6 +237,7 @@ test("handleActor()", async () => { "https://w3id.org/security/data-integrity/v1", "https://www.w3.org/ns/did/v1", "https://w3id.org/security/multikey/v1", + "https://gotosocial.org/ns", { alsoKnownAs: { "@id": "as:alsoKnownAs", @@ -396,6 +398,7 @@ test("handleObject()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { Emoji: "toot:Emoji", Hashtag: "as:Hashtag", @@ -494,6 +497,7 @@ test("handleObject()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { Emoji: "toot:Emoji", Hashtag: "as:Hashtag", @@ -679,6 +683,7 @@ test("handleCollection()", async () => { "https://w3id.org/identity/v1", "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", @@ -704,6 +709,7 @@ test("handleCollection()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", @@ -802,6 +808,7 @@ test("handleCollection()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", @@ -871,6 +878,7 @@ test("handleCollection()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", @@ -936,6 +944,7 @@ test("handleCollection()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", @@ -1005,6 +1014,7 @@ test("handleCollection()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", @@ -1254,6 +1264,7 @@ test("respondWithObject()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { Emoji: "toot:Emoji", Hashtag: "as:Hashtag", @@ -1386,6 +1397,7 @@ test("respondWithObjectIfAcceptable", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { Emoji: "toot:Emoji", Hashtag: "as:Hashtag", @@ -1565,6 +1577,7 @@ test("handleCustomCollection()", async () => { "https://w3id.org/identity/v1", "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", @@ -1589,6 +1602,7 @@ test("handleCustomCollection()", async () => { const CONTEXT = [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { toot: "http://joinmastodon.org/ns#", misskey: "https://misskey-hub.net/ns#", diff --git a/packages/fedify/src/sig/proof.test.ts b/packages/fedify/src/sig/proof.test.ts index f78a40092..a50492821 100644 --- a/packages/fedify/src/sig/proof.test.ts +++ b/packages/fedify/src/sig/proof.test.ts @@ -82,8 +82,8 @@ test("createProof()", async () => { assertEquals( proof.proofValue, decodeHex( - "203e6afc5b7c6affe08d2d67ad100cc6cdcf1f5a438063d16766204956aa8fdd" + - "67cc04088ccf69de36225cab19377b5a032542fd2454b9b9dd001ffbdef5aa03", + "860dda2bec0ab493ae9b0223ac4133ee82246d7d75d6505be2d6c53755a34454" + + "dcb05feae02403ac51faf853d2e873d467f32a252d3b15a9f025e3ed0750b90b", ), ); assertEquals(proof.created, created); diff --git a/packages/fixture/src/fixtures/gotosocial.org/ns.json b/packages/fixture/src/fixtures/gotosocial.org/ns.json new file mode 100644 index 000000000..7907bb31f --- /dev/null +++ b/packages/fixture/src/fixtures/gotosocial.org/ns.json @@ -0,0 +1,86 @@ +{ + "@context": { + "xsd": "http://www.w3.org/2001/XMLSchema#", + "gts": "https://gotosocial.org/ns#", + "LikeRequest": "gts:LikeRequest", + "ReplyRequest": "gts:ReplyRequest", + "AnnounceRequest": "gts:AnnounceRequest", + "QuoteRequest": "gts:QuoteRequest", + "LikeAuthorization": "gts:LikeApproval", + "ReplyAuthorization": "gts:ReplyAuthorization", + "AnnounceAuthorization": "gts:AnnounceAuthorization", + "QuoteAuthorization": "gts:QuoteAuthorization", + "likeAuthorization": { + "@id": "gts:likeAuthorization", + "@type": "@id" + }, + "replyAuthorization": { + "@id": "gts:replyAuthorization", + "@type": "@id" + }, + "announceAuthorization": { + "@id": "gts:announceAuthorization", + "@type": "@id" + }, + "quoteAuthorization": { + "@id": "gts:quoteAuthorization", + "@type": "@id" + }, + "interactingObject": { + "@id": "gts:interactingObject", + "@type": "@id" + }, + "interactionTarget": { + "@id": "gts:interactionTarget", + "@type": "@id" + }, + "interactionPolicy": { + "@id": "gts:interactionPolicy", + "@type": "@id" + }, + "canLike": { + "@id": "gts:canLike", + "@type": "@id" + }, + "canReply": { + "@id": "gts:canReply", + "@type": "@id" + }, + "canAnnounce": { + "@id": "gts:canAnnounce", + "@type": "@id" + }, + "canQuote": { + "@id": "gts:canQuote", + "@type": "@id" + }, + "automaticApproval": { + "@id": "gts:automaticApproval", + "@type": "@id" + }, + "manualApproval": { + "@id": "gts:manualApproval", + "@type": "@id" + }, + "hidesToPublicFromUnauthedWeb": { + "@id": "gts:hidesToPublicFromUnauthedWeb", + "@type": "xsd:boolean" + }, + "hidesCcPublicFromUnauthedWeb": { + "@id": "gts:hidesCcPublicFromUnauthedWeb", + "@type": "xsd:boolean" + }, + "always": { + "@id": "gts:always", + "@type": "@id" + }, + "approvalRequired": { + "@id": "gts:approvalRequired", + "@type": "@id" + }, + "approvedBy": { + "@id": "gts:approvedBy", + "@type": "@id" + } + } +} diff --git a/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap b/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap index f8f537241..63770175f 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap @@ -147,7 +147,12 @@ export class Object { #_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: (DataIntegrityProof | URL)[] = []; #_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: Set = new Set(); - + #_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; +#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; +#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; +#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; +#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + /** * Constructs a new instance of Object with the given values. * @param values The values to initialize the instance with. @@ -173,7 +178,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -1053,6 +1058,71 @@ proofs?: (DataIntegrityProof | URL)[];} ); } } + + if (\\"interactionPolicy\\" in values && values.interactionPolicy != null) { + if (values.interactionPolicy instanceof InteractionPolicy) { + // @ts-ignore: type is checked above. + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = [values.interactionPolicy]; + + } else { + throw new TypeError( + \\"The interactionPolicy must be of type \\" + + \\"InteractionPolicy\\" + \\".\\", + ); + } + } + + if (\\"approvedBy\\" in values && values.approvedBy != null) { + if (values.approvedBy instanceof URL) { + // @ts-ignore: type is checked above. + this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = [values.approvedBy]; + + } else { + throw new TypeError( + \\"The approvedBy must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { + if (values.likeAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; + + } else { + throw new TypeError( + \\"The likeAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { + if (values.replyAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; + + } else { + throw new TypeError( + \\"The replyAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { + if (values.announceAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; + + } else { + throw new TypeError( + \\"The announceAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -1081,7 +1151,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -1975,6 +2045,71 @@ proofs?: (DataIntegrityProof | URL)[];} ); } } + clone.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy; + if (\\"interactionPolicy\\" in values && values.interactionPolicy != null) { + if (values.interactionPolicy instanceof InteractionPolicy) { + // @ts-ignore: type is checked above. + clone.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = [values.interactionPolicy]; + + } else { + throw new TypeError( + \\"The interactionPolicy must be of type \\" + + \\"InteractionPolicy\\" + \\".\\", + ); + } + } + clone.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; + if (\\"approvedBy\\" in values && values.approvedBy != null) { + if (values.approvedBy instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = [values.approvedBy]; + + } else { + throw new TypeError( + \\"The approvedBy must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { + if (values.likeAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; + + } else { + throw new TypeError( + \\"The likeAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { + if (values.replyAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; + + } else { + throw new TypeError( + \\"The replyAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; + if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { + if (values.announceAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; + + } else { + throw new TypeError( + \\"The announceAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -7810,6 +7945,90 @@ get urls(): ((URL | Link))[] { } } +/** The interaction policy for this object, specifying who can like, reply to, + * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, + * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` + * lists. + * + * When absent, implementations should assume anyone can interact with + * the object. Setting this property signals that the server understands + * and will enforce interaction controls. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ + get interactionPolicy(): (InteractionPolicy | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; + return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + +/** A URI referencing an authorization object that proves this interaction + * was approved by the target post's author. + * + */ + get approvedBy(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; + return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + +/** A URI referencing a {@link LikeAuthorization} object that proves + * this like interaction was approved by the target post's author. + * + */ + get likeAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + return this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + } + +/** A URI referencing a {@link ReplyAuthorization} object that proves + * this reply was approved by the target post's author. + * + */ + get replyAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + return this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + } + +/** A URI referencing an {@link AnnounceAuthorization} object that proves + * this announce (boost) was approved by the target post's author. + * + */ + get announceAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + return this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -8501,9 +8720,93 @@ get urls(): ((URL | Link))[] { } + compactItems = []; + for (const v of this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy) { + const item = ( + await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionPolicy\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"approvedBy\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"likeAuthorization\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"replyAuthorization\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"announceAuthorization\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Object\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -9014,6 +9317,81 @@ get urls(): ((URL | Link))[] { } + array = []; + for (const v of this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionPolicy\\"] = propValue; + + } + + array = []; + for (const v of this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#approvedBy\\"] = propValue; + + } + + array = []; + for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#likeAuthorization\\"] = propValue; + + } + + array = []; + for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#replyAuthorization\\"] = propValue; + + } + + array = []; + for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#announceAuthorization\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Object\\"]; if (this.id != null) values[\\"@id\\"] = this.id.href; if (options.format === \\"expand\\") { @@ -9023,7 +9401,7 @@ get urls(): ((URL | Link))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -9069,6 +9447,11 @@ get urls(): ((URL | Link))[] { this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length > 0 ) return false; + if ( + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy != null && + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length > 0 + ) return false; + return true; } @@ -9171,6 +9554,18 @@ get urls(): ((URL | Link))[] { return await ChatMessage.fromJsonLd(json, options); } + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceAuthorization\\")) { + return await AnnounceAuthorization.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeApproval\\")) { + return await LikeAuthorization.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyAuthorization\\")) { + return await ReplyAuthorization.fromJsonLd(json, options); + } + if (values[\\"@type\\"].includes(\\"https://www.w3.org/ns/activitystreams#Activity\\")) { return await Activity.fromJsonLd(json, options); } @@ -9179,6 +9574,18 @@ get urls(): ((URL | Link))[] { return await EmojiReact.fromJsonLd(json, options); } + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceRequest\\")) { + return await AnnounceRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeRequest\\")) { + return await LikeRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyRequest\\")) { + return await ReplyRequest.fromJsonLd(json, options); + } + if (values[\\"@type\\"].includes(\\"https://www.w3.org/ns/activitystreams#Accept\\")) { return await Accept.fromJsonLd(json, options); } @@ -9415,7 +9822,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9569,7 +9976,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9655,7 +10062,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9758,7 +10165,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9801,7 +10208,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9849,7 +10256,7 @@ get urls(): ((URL | Link))[] { v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } ) : typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -10069,7 +10476,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -10360,6 +10767,144 @@ get urls(): ((URL | Link))[] { )) } instance.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof = _42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; + const _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; + + let _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array = values[\\"https://gotosocial.org/ns#interactionPolicy\\"]; + + for ( + const v of _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array == null + ? [] + : _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array.length === 1 && \\"@list\\" in _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array[0] + ? _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array[0][\\"@list\\"] + : _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array + ) { + if (v == null) continue; + _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.push(await InteractionPolicy.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy; + const _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; + + let _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array = values[\\"https://gotosocial.org/ns#approvedBy\\"]; + + for ( + const v of _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array == null + ? [] + : _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array.length === 1 && \\"@list\\" in _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array[0] + ? _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array[0][\\"@list\\"] + : _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array + ) { + if (v == null) continue; + _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; + + let _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array = values[\\"https://gotosocial.org/ns#likeAuthorization\\"]; + + for ( + const v of _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array == null + ? [] + : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array.length === 1 && \\"@list\\" in _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array[0] + ? _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array[0][\\"@list\\"] + : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array + ) { + if (v == null) continue; + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; + + let _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array = values[\\"https://gotosocial.org/ns#replyAuthorization\\"]; + + for ( + const v of _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array == null + ? [] + : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array.length === 1 && \\"@list\\" in _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array[0] + ? _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array[0][\\"@list\\"] + : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array + ) { + if (v == null) continue; + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + + let _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array = values[\\"https://gotosocial.org/ns#announceAuthorization\\"]; + + for ( + const v of _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array == null + ? [] + : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array.length === 1 && \\"@list\\" in _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array[0] + ? _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array[0][\\"@list\\"] + : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array + ) { + if (v == null) continue; + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { try { @@ -11135,6 +11680,106 @@ get urls(): ((URL | Link))[] { proxy.proofs = _42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; } + const _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length == 1) { + proxy.interactionPolicy = _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + + const _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length == 1) { + proxy.approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length == 1) { + proxy.likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + } + + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length == 1) { + proxy.replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + } + + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length == 1) { + proxy.announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; + } + return proxy; } } @@ -11198,7 +11843,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11234,7 +11879,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -11541,7 +12186,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11590,7 +12235,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -11714,7 +12359,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result[\\"type\\"] = \\"ChatMessage\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -11759,7 +12404,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -12038,7 +12683,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -12320,7 +12965,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -14659,7 +15304,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -14783,6 +15428,18 @@ instruments?: (Object | URL)[];} return await EmojiReact.fromJsonLd(json, options); } + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceRequest\\")) { + return await AnnounceRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeRequest\\")) { + return await LikeRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyRequest\\")) { + return await ReplyRequest.fromJsonLd(json, options); + } + if (values[\\"@type\\"].includes(\\"https://www.w3.org/ns/activitystreams#Accept\\")) { return await Accept.fromJsonLd(json, options); } @@ -15352,7 +16009,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -15394,7 +16051,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -15471,7 +16128,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -16094,63 +16751,5122 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} if (\\"@type\\" in values && !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { - if (!values[\\"@type\\"].includes(\\"http://schema.org#PropertyValue\\")) { + if (!values[\\"@type\\"].includes(\\"http://schema.org#PropertyValue\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + const instance = new this( + { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, + options, + ); + const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name: ((string | LanguageString))[] = []; + + let _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array = values[\\"https://www.w3.org/ns/activitystreams#name\\"]; + + for ( + const v of _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array == null + ? [] + : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array.length === 1 && \\"@list\\" in _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0] + ? _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0][\\"@list\\"] + : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array + ) { + if (v == null) continue; + + const decoded = + typeof v === \\"object\\" && \\"@value\\" in v + && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v + && typeof v[\\"@language\\"] === \\"string\\" + && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined + ; + if (typeof decoded === \\"undefined\\") continue; + _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.push(decoded); + + } + instance.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name; + const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value: ((string | LanguageString))[] = []; + + let _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array = values[\\"http://schema.org#value\\"]; + + for ( + const v of _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array == null + ? [] + : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array.length === 1 && \\"@list\\" in _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0] + ? _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0][\\"@list\\"] + : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array + ) { + if (v == null) continue; + + const decoded = + typeof v === \\"object\\" && \\"@value\\" in v + && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v + && typeof v[\\"@language\\"] === \\"string\\" + && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined + ; + if (typeof decoded === \\"undefined\\") continue; + _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.push(decoded); + + } + instance.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(this.id!.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(this.id!.href, options), + }; + } + + const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length == 1) { + proxy.name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name[0]; + } + + const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = this.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.length == 1) { + proxy.value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(PropertyValue.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: PropertyValue, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"PropertyValue \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(PropertyValue.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: PropertyValue, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"PropertyValue \\" + inspect(proxy, options); + }; + /** Proves that an {@link Announce} interaction has been approved by + * the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that an announce (boost) was authorized. The \`attributedTo\` property + * identifies the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class AnnounceAuthorization extends Object { + + /** + * The type URI of {@link AnnounceAuthorization}: \`https://gotosocial.org/ns#AnnounceAuthorization\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#AnnounceAuthorization\\"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of AnnounceAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): AnnounceAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as AnnounceAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link AnnounceAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the interaction (e.g., an {@link Announce} activity) that + * has been authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactingObject\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactingObject\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link AnnounceAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized announce. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactionTarget\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactionTarget\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactingObject\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionTarget\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result[\\"type\\"] = \\"AnnounceAuthorization\\"; + if (this.id != null) result[\\"id\\"] = this.id.href; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactingObject\\"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionTarget\\"] = propValue; + + } + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#AnnounceAuthorization\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__AnnounceAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__AnnounceAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceAuthorization\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof AnnounceAuthorization)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values[\\"https://gotosocial.org/ns#interactingObject\\"]; + + for ( + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null + ? [] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && \\"@list\\" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0][\\"@list\\"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values[\\"https://gotosocial.org/ns#interactionTarget\\"]; + + for ( + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null + ? [] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && \\"@list\\" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0][\\"@list\\"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + } + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(AnnounceAuthorization.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: AnnounceAuthorization, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceAuthorization \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(AnnounceAuthorization.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: AnnounceAuthorization, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceAuthorization \\" + inspect(proxy, options); + }; + /** A request to announce (boost) a post that requires approval from + * the post author. + * + * The \`object\` property references the post to be announced, and + * the \`instrument\` property contains the {@link Announce} activity itself. + * + * The post author responds with an {@link Accept} (with an + * {@link AnnounceAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class AnnounceRequest extends Activity { + + /** + * The type URI of {@link AnnounceRequest}: \`https://gotosocial.org/ns#AnnounceRequest\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#AnnounceRequest\\"); + } + + /** + * Constructs a new instance of AnnounceRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): AnnounceRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as AnnounceRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#AnnounceRequest\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__AnnounceRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__AnnounceRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceRequest\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof AnnounceRequest)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(AnnounceRequest.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: AnnounceRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceRequest \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(AnnounceRequest.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: AnnounceRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceRequest \\" + inspect(proxy, options); + }; + /** Represents an interaction policy attached to a post, specifying who can + * like, reply to, or announce it. Each sub-policy ({@link InteractionRule}) + * defines which actors receive automatic or manual approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class InteractionPolicy { + + readonly #documentLoader?: DocumentLoader; + readonly #contextLoader?: DocumentLoader; + readonly #tracerProvider?: TracerProvider; + readonly #warning?: { + category: string[]; + message: string; + values?: Record; + }; + #cachedJsonLd?: unknown; + readonly id: URL | null; + + protected get _documentLoader(): DocumentLoader | undefined { + return this.#documentLoader; + } + + protected get _contextLoader(): DocumentLoader | undefined { + return this.#contextLoader; + } + + protected get _tracerProvider(): TracerProvider | undefined { + return this.#tracerProvider; + } + + protected get _warning(): { + category: string[]; + message: string; + values?: Record; + } | undefined { + return this.#warning; + } + + protected get _cachedJsonLd(): unknown | undefined { + return this.#cachedJsonLd; + } + + protected set _cachedJsonLd(value: unknown | undefined) { + this.#cachedJsonLd = value; + } + + /** + * The type URI of {@link InteractionPolicy}: \`https://gotosocial.org/ns#InteractionPolicy\`. + */ + static get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#InteractionPolicy\\"); + } + #_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike: (InteractionRule)[] = []; +#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply: (InteractionRule)[] = []; +#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce: (InteractionRule)[] = []; + + /** + * Constructs a new instance of InteractionPolicy with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +canLike?: InteractionRule | null;canReply?: InteractionRule | null;canAnnounce?: InteractionRule | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + + this.#documentLoader = options.documentLoader; + this.#contextLoader = options.contextLoader; + this.#tracerProvider = options.tracerProvider; + if (\\"\$warning\\" in options) { + this.#warning = options.\$warning as unknown as { + category: string[]; + message: string; + values?: Record; + }; + } + if (values.id == null || values.id instanceof URL) { + this.id = values.id ?? null; + } else { + throw new TypeError(\\"The id must be a URL.\\"); + } + + if (\\"canLike\\" in values && values.canLike != null) { + if (values.canLike instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = [values.canLike]; + + } else { + throw new TypeError( + \\"The canLike must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + + if (\\"canReply\\" in values && values.canReply != null) { + if (values.canReply instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = [values.canReply]; + + } else { + throw new TypeError( + \\"The canReply must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + + if (\\"canAnnounce\\" in values && values.canAnnounce != null) { + if (values.canAnnounce instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = [values.canAnnounce]; + + } else { + throw new TypeError( + \\"The canAnnounce must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + clone( + values: + { +id?: URL | null; +canLike?: InteractionRule | null;canReply?: InteractionRule | null;canAnnounce?: InteractionRule | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): InteractionPolicy { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + + // @ts-ignore: this.constructor is not recognized as a constructor, but it is. + const clone: InteractionPolicy = new this.constructor( + { id: values.id ?? this.id }, + options + ); + clone.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike; + if (\\"canLike\\" in values && values.canLike != null) { + if (values.canLike instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = [values.canLike]; + + } else { + throw new TypeError( + \\"The canLike must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + clone.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply; + if (\\"canReply\\" in values && values.canReply != null) { + if (values.canReply instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = [values.canReply]; + + } else { + throw new TypeError( + \\"The canReply must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + clone.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce; + if (\\"canAnnounce\\" in values && values.canAnnounce != null) { + if (values.canAnnounce instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = [values.canAnnounce]; + + } else { + throw new TypeError( + \\"The canAnnounce must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + + return clone; + } + +/** The sub-policy specifying who can like the post. + * + * When absent, implementations should assume that anyone can like the post + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canLike(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length < 1) return null; + return this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike[0]; + } + +/** The sub-policy specifying who can reply to the post. + * + * When absent, implementations should assume that anyone can reply + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canReply(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length < 1) return null; + return this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply[0]; + } + +/** The sub-policy specifying who can announce (boost) the post. + * + * When absent, implementations should assume that anyone can announce + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canAnnounce(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length < 1) return null; + return this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce[0]; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + const values: Record = {}; + array = []; + for (const v of this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#canLike\\"] = propValue; + + } + + array = []; + for (const v of this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#canReply\\"] = propValue; + + } + + array = []; + for (const v of this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#canAnnounce\\"] = propValue; + + } + + + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + \\"https://gotosocial.org/ns\\"; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + } + return compacted; + } + + protected isCompactable(): boolean { + + if ( + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike != null && + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length > 0 + ) return false; + + if ( + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply != null && + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length > 0 + ) return false; + + if ( + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce != null && + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length > 0 + ) return false; + + return true; + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__InteractionPolicy__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__InteractionPolicy__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#InteractionPolicy\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + const instance = new this( + { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, + options, + ); + const _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike: (InteractionRule)[] = []; + + let _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array = values[\\"https://gotosocial.org/ns#canLike\\"]; + + for ( + const v of _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array == null + ? [] + : _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array.length === 1 && \\"@list\\" in _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array[0] + ? _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array[0][\\"@list\\"] + : _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array + ) { + if (v == null) continue; + _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike; + const _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply: (InteractionRule)[] = []; + + let _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array = values[\\"https://gotosocial.org/ns#canReply\\"]; + + for ( + const v of _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array == null + ? [] + : _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array.length === 1 && \\"@list\\" in _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array[0] + ? _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array[0][\\"@list\\"] + : _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array + ) { + if (v == null) continue; + _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply; + const _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce: (InteractionRule)[] = []; + + let _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array = values[\\"https://gotosocial.org/ns#canAnnounce\\"]; + + for ( + const v of _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array == null + ? [] + : _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array.length === 1 && \\"@list\\" in _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array[0] + ? _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array[0][\\"@list\\"] + : _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array + ) { + if (v == null) continue; + _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(this.id!.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(this.id!.href, options), + }; + } + + const _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length == 1) { + proxy.canLike = _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike[0]; + } + + const _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length == 1) { + proxy.canReply = _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply[0]; + } + + const _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length == 1) { + proxy.canAnnounce = _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(InteractionPolicy.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: InteractionPolicy, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionPolicy \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(InteractionPolicy.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: InteractionPolicy, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionPolicy \\" + inspect(proxy, options); + }; + /** Represents a sub-policy within an {@link InteractionPolicy}, defining which + * actors receive automatic or manual approval for a specific interaction type + * (like, reply, or announce). + * + * Valid values in the approval lists include: + * + * - The ActivityStreams public collection + * (\`https://www.w3.org/ns/activitystreams#Public\`) for anyone + * - The post author's \`followers\` or \`following\` collection URIs + * - Individual actor URIs + * + * When an actor appears in both \`automaticApproval\` and \`manualApproval\`, + * the more specific value takes precedence (individual URI overrides + * collection membership), and \`automaticApproval\` takes precedence over + * \`manualApproval\` for identical URIs. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class InteractionRule { + + readonly #documentLoader?: DocumentLoader; + readonly #contextLoader?: DocumentLoader; + readonly #tracerProvider?: TracerProvider; + readonly #warning?: { + category: string[]; + message: string; + values?: Record; + }; + #cachedJsonLd?: unknown; + readonly id: URL | null; + + protected get _documentLoader(): DocumentLoader | undefined { + return this.#documentLoader; + } + + protected get _contextLoader(): DocumentLoader | undefined { + return this.#contextLoader; + } + + protected get _tracerProvider(): TracerProvider | undefined { + return this.#tracerProvider; + } + + protected get _warning(): { + category: string[]; + message: string; + values?: Record; + } | undefined { + return this.#warning; + } + + protected get _cachedJsonLd(): unknown | undefined { + return this.#cachedJsonLd; + } + + protected set _cachedJsonLd(value: unknown | undefined) { + this.#cachedJsonLd = value; + } + + /** + * The type URI of {@link InteractionRule}: \`https://gotosocial.org/ns#InteractionRule\`. + */ + static get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#InteractionRule\\"); + } + #_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval: (URL)[] = []; +#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval: (URL)[] = []; + + /** + * Constructs a new instance of InteractionRule with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +automaticApproval?: URL | null; +automaticApprovals?: (URL)[];manualApproval?: URL | null; +manualApprovals?: (URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + + this.#documentLoader = options.documentLoader; + this.#contextLoader = options.contextLoader; + this.#tracerProvider = options.tracerProvider; + if (\\"\$warning\\" in options) { + this.#warning = options.\$warning as unknown as { + category: string[]; + message: string; + values?: Record; + }; + } + if (values.id == null || values.id instanceof URL) { + this.id = values.id ?? null; + } else { + throw new TypeError(\\"The id must be a URL.\\"); + } + + if (\\"automaticApproval\\" in values && values.automaticApproval != null) { + if (values.automaticApproval instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = [values.automaticApproval]; + + } else { + throw new TypeError( + \\"The automaticApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"automaticApprovals\\" in values && values.automaticApprovals != null) { + + if (\\"automaticApproval\\" in values && + values.automaticApproval != null) { + throw new TypeError( + \\"Cannot initialize both automaticApproval and \\" + + \\"automaticApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.automaticApprovals) && + values.automaticApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = values.automaticApprovals; + + } else { + throw new TypeError( + \\"The automaticApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"manualApproval\\" in values && values.manualApproval != null) { + if (values.manualApproval instanceof URL) { + // @ts-ignore: type is checked above. + this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = [values.manualApproval]; + + } else { + throw new TypeError( + \\"The manualApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"manualApprovals\\" in values && values.manualApprovals != null) { + + if (\\"manualApproval\\" in values && + values.manualApproval != null) { + throw new TypeError( + \\"Cannot initialize both manualApproval and \\" + + \\"manualApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.manualApprovals) && + values.manualApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = values.manualApprovals; + + } else { + throw new TypeError( + \\"The manualApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + clone( + values: + { +id?: URL | null; +automaticApproval?: URL | null; +automaticApprovals?: (URL)[];manualApproval?: URL | null; +manualApprovals?: (URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): InteractionRule { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + + // @ts-ignore: this.constructor is not recognized as a constructor, but it is. + const clone: InteractionRule = new this.constructor( + { id: values.id ?? this.id }, + options + ); + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + if (\\"automaticApproval\\" in values && values.automaticApproval != null) { + if (values.automaticApproval instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = [values.automaticApproval]; + + } else { + throw new TypeError( + \\"The automaticApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"automaticApprovals\\" in values && values.automaticApprovals != null) { + + if (\\"automaticApproval\\" in values && + values.automaticApproval != null) { + throw new TypeError( + \\"Cannot update both automaticApproval and \\" + + \\"automaticApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.automaticApprovals) && + values.automaticApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = values.automaticApprovals; + + } else { + throw new TypeError( + \\"The automaticApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + if (\\"manualApproval\\" in values && values.manualApproval != null) { + if (values.manualApproval instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = [values.manualApproval]; + + } else { + throw new TypeError( + \\"The manualApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"manualApprovals\\" in values && values.manualApprovals != null) { + + if (\\"manualApproval\\" in values && + values.manualApproval != null) { + throw new TypeError( + \\"Cannot update both manualApproval and \\" + + \\"manualApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.manualApprovals) && + values.manualApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = values.manualApprovals; + + } else { + throw new TypeError( + \\"The manualApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + return clone; + } + +/** URIs of actors or collections whose interactions are automatically + * approved without requiring manual review by the post author. + * + */ + get automaticApproval(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length < 1) return null; + return this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval[0]; + } + +/** URIs of actors or collections whose interactions are automatically + * approved without requiring manual review by the post author. + * + */ +get automaticApprovals(): (URL)[] { + return this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + } + +/** URIs of actors or collections whose interactions require manual approval + * by the post author. The post author can accept or reject these + * interactions at their discretion. + * + */ + get manualApproval(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length < 1) return null; + return this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval[0]; + } + +/** URIs of actors or collections whose interactions require manual approval + * by the post author. The post author can accept or reject these + * interactions at their discretion. + * + */ +get manualApprovals(): (URL)[] { + return this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + const values: Record = {}; + array = []; + for (const v of this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#automaticApproval\\"] = propValue; + + } + + array = []; + for (const v of this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#manualApproval\\"] = propValue; + + } + + + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + \\"https://gotosocial.org/ns\\"; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + } + return compacted; + } + + protected isCompactable(): boolean { + + return true; + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__InteractionRule__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__InteractionRule__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#InteractionRule\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + const instance = new this( + { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, + options, + ); + const _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval: (URL)[] = []; + + let _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array = values[\\"https://gotosocial.org/ns#automaticApproval\\"]; + + for ( + const v of _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array == null + ? [] + : _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array.length === 1 && \\"@list\\" in _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array[0] + ? _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array[0][\\"@list\\"] + : _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array + ) { + if (v == null) continue; + _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + const _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval: (URL)[] = []; + + let _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array = values[\\"https://gotosocial.org/ns#manualApproval\\"]; + + for ( + const v of _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array == null + ? [] + : _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array.length === 1 && \\"@list\\" in _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array[0] + ? _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array[0][\\"@list\\"] + : _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array + ) { + if (v == null) continue; + _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(this.id!.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(this.id!.href, options), + }; + } + + const _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length == 1) { + proxy.automaticApproval = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval[0]; + } + + if (_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length > 1 + || !(\\"automaticApproval\\" in proxy) + && _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length > 0) { + proxy.automaticApprovals = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + } + + const _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length == 1) { + proxy.manualApproval = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval[0]; + } + + if (_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length > 1 + || !(\\"manualApproval\\" in proxy) + && _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length > 0) { + proxy.manualApprovals = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(InteractionRule.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: InteractionRule, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionRule \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(InteractionRule.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: InteractionRule, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionRule \\" + inspect(proxy, options); + }; + /** Proves that a {@link Like} interaction has been approved by the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that a like was authorized. The \`attributedTo\` property identifies + * the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class LikeAuthorization extends Object { + + /** + * The type URI of {@link LikeAuthorization}: \`https://gotosocial.org/ns#LikeApproval\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#LikeApproval\\"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of LikeAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): LikeAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as LikeAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link LikeAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the interaction (e.g., a {@link Like} activity) that + * has been authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactingObject\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactingObject\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link LikeAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized interaction. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactionTarget\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactionTarget\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactingObject\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionTarget\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result[\\"type\\"] = \\"LikeAuthorization\\"; + if (this.id != null) result[\\"id\\"] = this.id.href; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactingObject\\"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionTarget\\"] = propValue; + + } + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#LikeApproval\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__LikeAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__LikeAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeApproval\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof LikeAuthorization)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values[\\"https://gotosocial.org/ns#interactingObject\\"]; + + for ( + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null + ? [] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && \\"@list\\" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0][\\"@list\\"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values[\\"https://gotosocial.org/ns#interactionTarget\\"]; + + for ( + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null + ? [] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && \\"@list\\" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0][\\"@list\\"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + } + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(LikeAuthorization.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: LikeAuthorization, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeAuthorization \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(LikeAuthorization.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: LikeAuthorization, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeAuthorization \\" + inspect(proxy, options); + }; + /** A request to like a post that requires approval from the post author. + * + * The \`object\` property references the post to be liked, and + * the \`instrument\` property contains the {@link Like} activity itself. + * + * The post author responds with an {@link Accept} (with a + * {@link LikeAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class LikeRequest extends Activity { + + /** + * The type URI of {@link LikeRequest}: \`https://gotosocial.org/ns#LikeRequest\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#LikeRequest\\"); + } + + /** + * Constructs a new instance of LikeRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): LikeRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as LikeRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#LikeRequest\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__LikeRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__LikeRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeRequest\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof LikeRequest)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(LikeRequest.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: LikeRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeRequest \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(LikeRequest.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: LikeRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeRequest \\" + inspect(proxy, options); + }; + /** Proves that a reply interaction has been approved by the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that a reply was authorized. The \`attributedTo\` property identifies + * the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class ReplyAuthorization extends Object { + + /** + * The type URI of {@link ReplyAuthorization}: \`https://gotosocial.org/ns#ReplyAuthorization\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#ReplyAuthorization\\"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of ReplyAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): ReplyAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as ReplyAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link ReplyAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the reply object (e.g., a {@link Note}) that has been + * authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactingObject\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactingObject\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link ReplyAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized reply. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactionTarget\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactionTarget\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactingObject\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionTarget\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result[\\"type\\"] = \\"ReplyAuthorization\\"; + if (this.id != null) result[\\"id\\"] = this.id.href; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactingObject\\"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionTarget\\"] = propValue; + + } + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#ReplyAuthorization\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__ReplyAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__ReplyAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyAuthorization\\")) { throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); } } - const instance = new this( - { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, - options, - ); - const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name: ((string | LanguageString))[] = []; - - let _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array = values[\\"https://www.w3.org/ns/activitystreams#name\\"]; + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof ReplyAuthorization)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values[\\"https://gotosocial.org/ns#interactingObject\\"]; for ( - const v of _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array == null + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null ? [] - : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array.length === 1 && \\"@list\\" in _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0] - ? _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0][\\"@list\\"] - : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && \\"@list\\" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0][\\"@list\\"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array ) { if (v == null) continue; - const decoded = - typeof v === \\"object\\" && \\"@value\\" in v - && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v - && typeof v[\\"@language\\"] === \\"string\\" - && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined - ; - if (typeof decoded === \\"undefined\\") continue; - _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.push(decoded); - + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } - instance.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name; - const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value: ((string | LanguageString))[] = []; - - let _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array = values[\\"http://schema.org#value\\"]; + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values[\\"https://gotosocial.org/ns#interactionTarget\\"]; for ( - const v of _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array == null + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null ? [] - : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array.length === 1 && \\"@list\\" in _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0] - ? _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0][\\"@list\\"] - : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && \\"@list\\" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0][\\"@list\\"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array ) { if (v == null) continue; - const decoded = - typeof v === \\"object\\" && \\"@value\\" in v - && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v - && typeof v[\\"@language\\"] === \\"string\\" - && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined - ; - if (typeof decoded === \\"undefined\\") continue; - _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.push(decoded); - + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } - instance.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value; + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { try { @@ -16165,24 +21881,9 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} return instance; } - protected _getCustomInspectProxy(): Record { - - const proxy: Record = {}; - if (this.id != null) { - proxy.id = { - [Symbol.for(\\"Deno.customInspect\\")]: ( - inspect: typeof Deno.inspect, - options: Deno.InspectOptions, - ): string => \\"URL \\" + inspect(this.id!.href, options), - [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( - _depth: number, - options: unknown, - inspect: (value: unknown, options: unknown) => string, - ): string => \\"URL \\" + inspect(this.id!.href, options), - }; - } - - const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject // deno-lint-ignore no-explicit-any .map((v: any) => v instanceof URL ? { @@ -16198,11 +21899,11 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } : v); - if (_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length == 1) { - proxy.name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name[0]; + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; } - const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = this.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget // deno-lint-ignore no-explicit-any .map((v: any) => v instanceof URL ? { @@ -16218,8 +21919,8 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } : v); - if (_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.length == 1) { - proxy.value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value[0]; + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; } return proxy; @@ -16228,26 +21929,368 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} // deno-lint-ignore no-explicit-any -(PropertyValue.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = +(ReplyAuthorization.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = function ( - this: PropertyValue, + this: ReplyAuthorization, inspect: typeof Deno.inspect, options: Deno.InspectOptions, ): string { const proxy = this._getCustomInspectProxy(); - return \\"PropertyValue \\" + inspect(proxy, options); + return \\"ReplyAuthorization \\" + inspect(proxy, options); }; // deno-lint-ignore no-explicit-any -(PropertyValue.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = +(ReplyAuthorization.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = function ( - this: PropertyValue, + this: ReplyAuthorization, _depth: number, options: unknown, inspect: (value: unknown, options: unknown) => string, ): string { const proxy = this._getCustomInspectProxy(); - return \\"PropertyValue \\" + inspect(proxy, options); + return \\"ReplyAuthorization \\" + inspect(proxy, options); + }; + /** A request to reply to a post that requires approval from the post author. + * + * The \`object\` property references the post to be replied to, and + * the \`instrument\` property contains the reply itself (e.g., a {@link Note}). + * + * The post author responds with an {@link Accept} (with a + * {@link ReplyAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class ReplyRequest extends Activity { + + /** + * The type URI of {@link ReplyRequest}: \`https://gotosocial.org/ns#ReplyRequest\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#ReplyRequest\\"); + } + + /** + * Constructs a new instance of ReplyRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): ReplyRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: \$warning is not recognized as a property, but it is. + options = { ...options, \$warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as ReplyRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#ReplyRequest\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__ReplyRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__ReplyRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyRequest\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof ReplyRequest)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(ReplyRequest.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: ReplyRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"ReplyRequest \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(ReplyRequest.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: ReplyRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"ReplyRequest \\" + inspect(proxy, options); }; /** Means of communicating or interacting with the DID subject or associated * entities via one or more service endpoints. Examples include discovery @@ -19844,7 +25887,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19886,7 +25929,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19963,7 +26006,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -20184,7 +26227,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20226,7 +26269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20303,7 +26346,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -20519,7 +26562,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20561,7 +26604,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20638,7 +26681,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -20899,7 +26942,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -21363,7 +27406,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -25782,7 +31825,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Application\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -26141,7 +32184,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -27444,7 +33487,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27486,7 +33529,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27563,7 +33606,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -27791,7 +33834,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27833,7 +33876,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27910,7 +33953,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -28124,7 +34167,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -28173,7 +34216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -28297,7 +34340,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result[\\"type\\"] = \\"Article\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -28342,7 +34385,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -28600,7 +34643,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -28662,7 +34705,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -28812,7 +34855,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Document\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -28874,7 +34917,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -29173,7 +35216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -29209,7 +35252,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -29271,7 +35314,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Audio\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -29297,7 +35340,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -29512,7 +35555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29554,7 +35597,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29631,7 +35674,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -29852,7 +35895,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29894,7 +35937,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29971,7 +36014,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -30226,7 +36269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -30437,7 +36480,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} = {}, options: { @@ -33546,7 +39589,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"Collection\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -33770,7 +39813,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -34048,7 +40091,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -34657,7 +40700,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34732,7 +40775,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} = {}, options: { @@ -35538,7 +41581,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"CollectionPage\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -35609,7 +41652,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -35976,7 +42019,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36018,7 +42061,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36095,7 +42138,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -36310,7 +42353,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36352,7 +42395,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36429,7 +42472,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -36642,7 +42685,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36684,7 +42727,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36761,7 +42804,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -38078,7 +44121,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -38114,7 +44157,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -38176,7 +44219,7 @@ proofs?: (DataIntegrityProof | URL)[];} result[\\"type\\"] = \\"Event\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -38202,7 +44245,7 @@ proofs?: (DataIntegrityProof | URL)[];} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -38418,7 +44461,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38460,7 +44503,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38537,7 +44580,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -38754,7 +44797,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38796,7 +44839,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38873,7 +44916,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -39134,7 +45177,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -39598,7 +45641,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -44017,7 +50060,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Group\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -44376,7 +50419,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -47062,7 +53105,7 @@ get names(): ((string | LanguageString))[] { v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } ) : typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -47642,7 +53685,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -47678,7 +53721,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -47740,7 +53783,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Image\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = \\"https://www.w3.org/ns/activitystreams\\"; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -47766,7 +53809,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - \\"https://www.w3.org/ns/activitystreams\\"; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -47982,7 +54025,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48024,7 +54067,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48101,7 +54144,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -48320,7 +54363,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48362,7 +54405,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48439,7 +54482,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -48654,7 +54697,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48696,7 +54739,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48773,7 +54816,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -48988,7 +55031,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49030,7 +55073,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49107,7 +55150,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -49322,7 +55365,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49364,7 +55407,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49441,7 +55484,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -49654,7 +55697,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49696,7 +55739,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49773,7 +55816,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -50287,7 +56330,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -50329,7 +56372,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -50406,7 +56449,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -50622,7 +56665,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -50671,7 +56714,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -50795,7 +56838,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result[\\"type\\"] = \\"Note\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -50840,7 +56883,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -51101,7 +57144,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} , options: { documentLoader?: DocumentLoader, @@ -51156,7 +57199,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} = {}, options: { @@ -51486,7 +57529,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"OrderedCollection\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -51527,7 +57570,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -51688,7 +57731,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -51812,7 +57855,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -51880,7 +57923,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} = {}, options: { @@ -52254,7 +58297,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"OrderedCollectionPage\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -52313,7 +58356,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -52474,7 +58517,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -52674,7 +58717,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -53138,7 +59181,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -57557,7 +63600,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Organization\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -57916,7 +63959,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -59216,7 +65259,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -59252,7 +65295,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -59314,7 +65357,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Page\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -59340,7 +65383,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -59601,7 +65644,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -60065,7 +66108,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -64484,7 +70527,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Person\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -64843,7 +70886,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -66152,7 +72195,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -66266,7 +72309,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} = {}, options: { @@ -66592,7 +72635,7 @@ proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number result[\\"type\\"] = \\"Place\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -66723,7 +72766,7 @@ proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -67178,7 +73221,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -67227,7 +73270,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} = {}, options: { @@ -67538,7 +73581,7 @@ proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} result[\\"type\\"] = \\"Profile\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -67579,7 +73622,7 @@ proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -67859,7 +73902,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -67978,7 +74021,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -68710,7 +74753,7 @@ instruments?: (Object | URL)[];exclusiveOptions?: (Object | URL)[];inclusiveOpti ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -69157,7 +75200,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69199,7 +75242,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69276,7 +75319,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -69491,7 +75534,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69533,7 +75576,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69610,7 +75653,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -69843,7 +75886,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -69974,7 +76017,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -71035,7 +77078,7 @@ relationships?: (Object | URL)[];} result[\\"type\\"] = \\"Relationship\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -71106,7 +77149,7 @@ relationships?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -71483,7 +77526,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -71525,7 +77568,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -71602,7 +77645,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -71863,7 +77906,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -72327,7 +78370,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -76746,7 +82789,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Service\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -77105,7 +83148,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -79048,7 +85091,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79090,7 +85133,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79167,7 +85210,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -79382,7 +85425,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79424,7 +85467,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79501,7 +85544,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -79718,7 +85761,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} , options: { documentLoader?: DocumentLoader, @@ -79767,7 +85810,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} = {}, options: { @@ -79873,7 +85916,7 @@ proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} result[\\"type\\"] = \\"Tombstone\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -79917,7 +85960,7 @@ proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -80173,7 +86216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80215,7 +86258,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80292,7 +86335,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -80512,7 +86555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80554,7 +86597,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80631,7 +86674,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -80849,7 +86892,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80891,7 +86934,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80968,7 +87011,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"sensitive\\":\\"as:sensitive\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"sensitive\\":\\"as:sensitive\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -81181,7 +87224,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -81217,7 +87260,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -81279,7 +87322,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Video\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -81305,7 +87348,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -81519,7 +87562,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -81561,7 +87604,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -81638,7 +87681,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, diff --git a/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap b/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap index e62d1a160..b3af51640 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap @@ -145,7 +145,12 @@ export class Object { #_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: (DataIntegrityProof | URL)[] = []; #_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: Set = new Set(); - + #_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; +#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; +#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; +#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; +#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + /** * Constructs a new instance of Object with the given values. * @param values The values to initialize the instance with. @@ -171,7 +176,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -1051,6 +1056,71 @@ proofs?: (DataIntegrityProof | URL)[];} ); } } + + if (\\"interactionPolicy\\" in values && values.interactionPolicy != null) { + if (values.interactionPolicy instanceof InteractionPolicy) { + // @ts-ignore: type is checked above. + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = [values.interactionPolicy]; + + } else { + throw new TypeError( + \\"The interactionPolicy must be of type \\" + + \\"InteractionPolicy\\" + \\".\\", + ); + } + } + + if (\\"approvedBy\\" in values && values.approvedBy != null) { + if (values.approvedBy instanceof URL) { + // @ts-ignore: type is checked above. + this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = [values.approvedBy]; + + } else { + throw new TypeError( + \\"The approvedBy must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { + if (values.likeAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; + + } else { + throw new TypeError( + \\"The likeAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { + if (values.replyAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; + + } else { + throw new TypeError( + \\"The replyAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { + if (values.announceAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; + + } else { + throw new TypeError( + \\"The announceAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -1079,7 +1149,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -1973,6 +2043,71 @@ proofs?: (DataIntegrityProof | URL)[];} ); } } + clone.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy; + if (\\"interactionPolicy\\" in values && values.interactionPolicy != null) { + if (values.interactionPolicy instanceof InteractionPolicy) { + // @ts-ignore: type is checked above. + clone.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = [values.interactionPolicy]; + + } else { + throw new TypeError( + \\"The interactionPolicy must be of type \\" + + \\"InteractionPolicy\\" + \\".\\", + ); + } + } + clone.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; + if (\\"approvedBy\\" in values && values.approvedBy != null) { + if (values.approvedBy instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = [values.approvedBy]; + + } else { + throw new TypeError( + \\"The approvedBy must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { + if (values.likeAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; + + } else { + throw new TypeError( + \\"The likeAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { + if (values.replyAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; + + } else { + throw new TypeError( + \\"The replyAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; + if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { + if (values.announceAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; + + } else { + throw new TypeError( + \\"The announceAuthorization must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -7808,6 +7943,90 @@ get urls(): ((URL | Link))[] { } } +/** The interaction policy for this object, specifying who can like, reply to, + * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, + * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` + * lists. + * + * When absent, implementations should assume anyone can interact with + * the object. Setting this property signals that the server understands + * and will enforce interaction controls. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ + get interactionPolicy(): (InteractionPolicy | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; + return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + +/** A URI referencing an authorization object that proves this interaction + * was approved by the target post's author. + * + */ + get approvedBy(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; + return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + +/** A URI referencing a {@link LikeAuthorization} object that proves + * this like interaction was approved by the target post's author. + * + */ + get likeAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + return this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + } + +/** A URI referencing a {@link ReplyAuthorization} object that proves + * this reply was approved by the target post's author. + * + */ + get replyAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + return this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + } + +/** A URI referencing an {@link AnnounceAuthorization} object that proves + * this announce (boost) was approved by the target post's author. + * + */ + get announceAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + return this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -8499,9 +8718,93 @@ get urls(): ((URL | Link))[] { } + compactItems = []; + for (const v of this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy) { + const item = ( + await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionPolicy\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"approvedBy\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"likeAuthorization\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"replyAuthorization\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"announceAuthorization\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Object\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -9012,6 +9315,81 @@ get urls(): ((URL | Link))[] { } + array = []; + for (const v of this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionPolicy\\"] = propValue; + + } + + array = []; + for (const v of this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#approvedBy\\"] = propValue; + + } + + array = []; + for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#likeAuthorization\\"] = propValue; + + } + + array = []; + for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#replyAuthorization\\"] = propValue; + + } + + array = []; + for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#announceAuthorization\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Object\\"]; if (this.id != null) values[\\"@id\\"] = this.id.href; if (options.format === \\"expand\\") { @@ -9021,7 +9399,7 @@ get urls(): ((URL | Link))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -9067,6 +9445,11 @@ get urls(): ((URL | Link))[] { this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length > 0 ) return false; + if ( + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy != null && + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length > 0 + ) return false; + return true; } @@ -9169,6 +9552,18 @@ get urls(): ((URL | Link))[] { return await ChatMessage.fromJsonLd(json, options); } + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceAuthorization\\")) { + return await AnnounceAuthorization.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeApproval\\")) { + return await LikeAuthorization.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyAuthorization\\")) { + return await ReplyAuthorization.fromJsonLd(json, options); + } + if (values[\\"@type\\"].includes(\\"https://www.w3.org/ns/activitystreams#Activity\\")) { return await Activity.fromJsonLd(json, options); } @@ -9177,6 +9572,18 @@ get urls(): ((URL | Link))[] { return await EmojiReact.fromJsonLd(json, options); } + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceRequest\\")) { + return await AnnounceRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeRequest\\")) { + return await LikeRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyRequest\\")) { + return await ReplyRequest.fromJsonLd(json, options); + } + if (values[\\"@type\\"].includes(\\"https://www.w3.org/ns/activitystreams#Accept\\")) { return await Accept.fromJsonLd(json, options); } @@ -9413,7 +9820,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9567,7 +9974,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9653,7 +10060,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9756,7 +10163,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9799,7 +10206,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -9847,7 +10254,7 @@ get urls(): ((URL | Link))[] { v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } ) : typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -10067,7 +10474,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -10358,6 +10765,144 @@ get urls(): ((URL | Link))[] { )) } instance.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof = _42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; + const _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; + + let _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array = values[\\"https://gotosocial.org/ns#interactionPolicy\\"]; + + for ( + const v of _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array == null + ? [] + : _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array.length === 1 && \\"@list\\" in _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array[0] + ? _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array[0][\\"@list\\"] + : _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array + ) { + if (v == null) continue; + _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.push(await InteractionPolicy.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy; + const _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; + + let _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array = values[\\"https://gotosocial.org/ns#approvedBy\\"]; + + for ( + const v of _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array == null + ? [] + : _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array.length === 1 && \\"@list\\" in _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array[0] + ? _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array[0][\\"@list\\"] + : _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array + ) { + if (v == null) continue; + _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; + + let _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array = values[\\"https://gotosocial.org/ns#likeAuthorization\\"]; + + for ( + const v of _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array == null + ? [] + : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array.length === 1 && \\"@list\\" in _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array[0] + ? _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array[0][\\"@list\\"] + : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array + ) { + if (v == null) continue; + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; + + let _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array = values[\\"https://gotosocial.org/ns#replyAuthorization\\"]; + + for ( + const v of _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array == null + ? [] + : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array.length === 1 && \\"@list\\" in _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array[0] + ? _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array[0][\\"@list\\"] + : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array + ) { + if (v == null) continue; + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + + let _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array = values[\\"https://gotosocial.org/ns#announceAuthorization\\"]; + + for ( + const v of _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array == null + ? [] + : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array.length === 1 && \\"@list\\" in _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array[0] + ? _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array[0][\\"@list\\"] + : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array + ) { + if (v == null) continue; + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { try { @@ -11133,6 +11678,106 @@ get urls(): ((URL | Link))[] { proxy.proofs = _42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; } + const _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length == 1) { + proxy.interactionPolicy = _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + + const _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length == 1) { + proxy.approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length == 1) { + proxy.likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + } + + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length == 1) { + proxy.replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + } + + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length == 1) { + proxy.announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; + } + return proxy; } } @@ -11196,7 +11841,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11232,7 +11877,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -11539,7 +12184,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11588,7 +12233,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -11712,7 +12357,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result[\\"type\\"] = \\"ChatMessage\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -11757,7 +12402,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -12036,7 +12681,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -12318,7 +12963,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -14657,7 +15302,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -14781,6 +15426,18 @@ instruments?: (Object | URL)[];} return await EmojiReact.fromJsonLd(json, options); } + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceRequest\\")) { + return await AnnounceRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeRequest\\")) { + return await LikeRequest.fromJsonLd(json, options); + } + + if (values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyRequest\\")) { + return await ReplyRequest.fromJsonLd(json, options); + } + if (values[\\"@type\\"].includes(\\"https://www.w3.org/ns/activitystreams#Accept\\")) { return await Accept.fromJsonLd(json, options); } @@ -15350,7 +16007,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -15392,7 +16049,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -15469,7 +16126,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -16092,63 +16749,5122 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} if (\\"@type\\" in values && !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { - if (!values[\\"@type\\"].includes(\\"http://schema.org#PropertyValue\\")) { + if (!values[\\"@type\\"].includes(\\"http://schema.org#PropertyValue\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + const instance = new this( + { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, + options, + ); + const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name: ((string | LanguageString))[] = []; + + let _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array = values[\\"https://www.w3.org/ns/activitystreams#name\\"]; + + for ( + const v of _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array == null + ? [] + : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array.length === 1 && \\"@list\\" in _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0] + ? _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0][\\"@list\\"] + : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array + ) { + if (v == null) continue; + + const decoded = + typeof v === \\"object\\" && \\"@value\\" in v + && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v + && typeof v[\\"@language\\"] === \\"string\\" + && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined + ; + if (typeof decoded === \\"undefined\\") continue; + _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.push(decoded); + + } + instance.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name; + const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value: ((string | LanguageString))[] = []; + + let _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array = values[\\"http://schema.org#value\\"]; + + for ( + const v of _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array == null + ? [] + : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array.length === 1 && \\"@list\\" in _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0] + ? _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0][\\"@list\\"] + : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array + ) { + if (v == null) continue; + + const decoded = + typeof v === \\"object\\" && \\"@value\\" in v + && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v + && typeof v[\\"@language\\"] === \\"string\\" + && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined + ; + if (typeof decoded === \\"undefined\\") continue; + _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.push(decoded); + + } + instance.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(this.id!.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(this.id!.href, options), + }; + } + + const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length == 1) { + proxy.name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name[0]; + } + + const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = this.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.length == 1) { + proxy.value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(PropertyValue.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: PropertyValue, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"PropertyValue \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(PropertyValue.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: PropertyValue, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"PropertyValue \\" + inspect(proxy, options); + }; + /** Proves that an {@link Announce} interaction has been approved by + * the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that an announce (boost) was authorized. The \`attributedTo\` property + * identifies the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class AnnounceAuthorization extends Object { + + /** + * The type URI of {@link AnnounceAuthorization}: \`https://gotosocial.org/ns#AnnounceAuthorization\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#AnnounceAuthorization\\"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of AnnounceAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): AnnounceAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as AnnounceAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link AnnounceAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the interaction (e.g., an {@link Announce} activity) that + * has been authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactingObject\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactingObject\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link AnnounceAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized announce. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactionTarget\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactionTarget\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactingObject\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionTarget\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result[\\"type\\"] = \\"AnnounceAuthorization\\"; + if (this.id != null) result[\\"id\\"] = this.id.href; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactingObject\\"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionTarget\\"] = propValue; + + } + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#AnnounceAuthorization\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__AnnounceAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__AnnounceAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceAuthorization\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof AnnounceAuthorization)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values[\\"https://gotosocial.org/ns#interactingObject\\"]; + + for ( + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null + ? [] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && \\"@list\\" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0][\\"@list\\"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values[\\"https://gotosocial.org/ns#interactionTarget\\"]; + + for ( + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null + ? [] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && \\"@list\\" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0][\\"@list\\"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + } + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(AnnounceAuthorization.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: AnnounceAuthorization, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceAuthorization \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(AnnounceAuthorization.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: AnnounceAuthorization, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceAuthorization \\" + inspect(proxy, options); + }; + /** A request to announce (boost) a post that requires approval from + * the post author. + * + * The \`object\` property references the post to be announced, and + * the \`instrument\` property contains the {@link Announce} activity itself. + * + * The post author responds with an {@link Accept} (with an + * {@link AnnounceAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class AnnounceRequest extends Activity { + + /** + * The type URI of {@link AnnounceRequest}: \`https://gotosocial.org/ns#AnnounceRequest\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#AnnounceRequest\\"); + } + + /** + * Constructs a new instance of AnnounceRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): AnnounceRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as AnnounceRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#AnnounceRequest\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__AnnounceRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__AnnounceRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#AnnounceRequest\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof AnnounceRequest)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(AnnounceRequest.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: AnnounceRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceRequest \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(AnnounceRequest.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: AnnounceRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"AnnounceRequest \\" + inspect(proxy, options); + }; + /** Represents an interaction policy attached to a post, specifying who can + * like, reply to, or announce it. Each sub-policy ({@link InteractionRule}) + * defines which actors receive automatic or manual approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class InteractionPolicy { + + readonly #documentLoader?: DocumentLoader; + readonly #contextLoader?: DocumentLoader; + readonly #tracerProvider?: TracerProvider; + readonly #warning?: { + category: string[]; + message: string; + values?: Record; + }; + #cachedJsonLd?: unknown; + readonly id: URL | null; + + protected get _documentLoader(): DocumentLoader | undefined { + return this.#documentLoader; + } + + protected get _contextLoader(): DocumentLoader | undefined { + return this.#contextLoader; + } + + protected get _tracerProvider(): TracerProvider | undefined { + return this.#tracerProvider; + } + + protected get _warning(): { + category: string[]; + message: string; + values?: Record; + } | undefined { + return this.#warning; + } + + protected get _cachedJsonLd(): unknown | undefined { + return this.#cachedJsonLd; + } + + protected set _cachedJsonLd(value: unknown | undefined) { + this.#cachedJsonLd = value; + } + + /** + * The type URI of {@link InteractionPolicy}: \`https://gotosocial.org/ns#InteractionPolicy\`. + */ + static get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#InteractionPolicy\\"); + } + #_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike: (InteractionRule)[] = []; +#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply: (InteractionRule)[] = []; +#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce: (InteractionRule)[] = []; + + /** + * Constructs a new instance of InteractionPolicy with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +canLike?: InteractionRule | null;canReply?: InteractionRule | null;canAnnounce?: InteractionRule | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + + this.#documentLoader = options.documentLoader; + this.#contextLoader = options.contextLoader; + this.#tracerProvider = options.tracerProvider; + if (\\"$warning\\" in options) { + this.#warning = options.$warning as unknown as { + category: string[]; + message: string; + values?: Record; + }; + } + if (values.id == null || values.id instanceof URL) { + this.id = values.id ?? null; + } else { + throw new TypeError(\\"The id must be a URL.\\"); + } + + if (\\"canLike\\" in values && values.canLike != null) { + if (values.canLike instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = [values.canLike]; + + } else { + throw new TypeError( + \\"The canLike must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + + if (\\"canReply\\" in values && values.canReply != null) { + if (values.canReply instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = [values.canReply]; + + } else { + throw new TypeError( + \\"The canReply must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + + if (\\"canAnnounce\\" in values && values.canAnnounce != null) { + if (values.canAnnounce instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = [values.canAnnounce]; + + } else { + throw new TypeError( + \\"The canAnnounce must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + clone( + values: + { +id?: URL | null; +canLike?: InteractionRule | null;canReply?: InteractionRule | null;canAnnounce?: InteractionRule | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): InteractionPolicy { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + + // @ts-ignore: this.constructor is not recognized as a constructor, but it is. + const clone: InteractionPolicy = new this.constructor( + { id: values.id ?? this.id }, + options + ); + clone.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike; + if (\\"canLike\\" in values && values.canLike != null) { + if (values.canLike instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = [values.canLike]; + + } else { + throw new TypeError( + \\"The canLike must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + clone.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply; + if (\\"canReply\\" in values && values.canReply != null) { + if (values.canReply instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = [values.canReply]; + + } else { + throw new TypeError( + \\"The canReply must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + clone.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce; + if (\\"canAnnounce\\" in values && values.canAnnounce != null) { + if (values.canAnnounce instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = [values.canAnnounce]; + + } else { + throw new TypeError( + \\"The canAnnounce must be of type \\" + + \\"InteractionRule\\" + \\".\\", + ); + } + } + + return clone; + } + +/** The sub-policy specifying who can like the post. + * + * When absent, implementations should assume that anyone can like the post + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canLike(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length < 1) return null; + return this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike[0]; + } + +/** The sub-policy specifying who can reply to the post. + * + * When absent, implementations should assume that anyone can reply + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canReply(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length < 1) return null; + return this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply[0]; + } + +/** The sub-policy specifying who can announce (boost) the post. + * + * When absent, implementations should assume that anyone can announce + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canAnnounce(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length < 1) return null; + return this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce[0]; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + const values: Record = {}; + array = []; + for (const v of this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#canLike\\"] = propValue; + + } + + array = []; + for (const v of this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#canReply\\"] = propValue; + + } + + array = []; + for (const v of this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#canAnnounce\\"] = propValue; + + } + + + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + \\"https://gotosocial.org/ns\\"; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + } + return compacted; + } + + protected isCompactable(): boolean { + + if ( + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike != null && + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length > 0 + ) return false; + + if ( + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply != null && + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length > 0 + ) return false; + + if ( + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce != null && + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length > 0 + ) return false; + + return true; + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__InteractionPolicy__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__InteractionPolicy__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#InteractionPolicy\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + const instance = new this( + { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, + options, + ); + const _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike: (InteractionRule)[] = []; + + let _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array = values[\\"https://gotosocial.org/ns#canLike\\"]; + + for ( + const v of _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array == null + ? [] + : _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array.length === 1 && \\"@list\\" in _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array[0] + ? _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array[0][\\"@list\\"] + : _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array + ) { + if (v == null) continue; + _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike; + const _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply: (InteractionRule)[] = []; + + let _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array = values[\\"https://gotosocial.org/ns#canReply\\"]; + + for ( + const v of _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array == null + ? [] + : _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array.length === 1 && \\"@list\\" in _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array[0] + ? _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array[0][\\"@list\\"] + : _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array + ) { + if (v == null) continue; + _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply; + const _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce: (InteractionRule)[] = []; + + let _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array = values[\\"https://gotosocial.org/ns#canAnnounce\\"]; + + for ( + const v of _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array == null + ? [] + : _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array.length === 1 && \\"@list\\" in _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array[0] + ? _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array[0][\\"@list\\"] + : _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array + ) { + if (v == null) continue; + _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(this.id!.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(this.id!.href, options), + }; + } + + const _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length == 1) { + proxy.canLike = _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike[0]; + } + + const _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length == 1) { + proxy.canReply = _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply[0]; + } + + const _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length == 1) { + proxy.canAnnounce = _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(InteractionPolicy.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: InteractionPolicy, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionPolicy \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(InteractionPolicy.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: InteractionPolicy, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionPolicy \\" + inspect(proxy, options); + }; + /** Represents a sub-policy within an {@link InteractionPolicy}, defining which + * actors receive automatic or manual approval for a specific interaction type + * (like, reply, or announce). + * + * Valid values in the approval lists include: + * + * - The ActivityStreams public collection + * (\`https://www.w3.org/ns/activitystreams#Public\`) for anyone + * - The post author's \`followers\` or \`following\` collection URIs + * - Individual actor URIs + * + * When an actor appears in both \`automaticApproval\` and \`manualApproval\`, + * the more specific value takes precedence (individual URI overrides + * collection membership), and \`automaticApproval\` takes precedence over + * \`manualApproval\` for identical URIs. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class InteractionRule { + + readonly #documentLoader?: DocumentLoader; + readonly #contextLoader?: DocumentLoader; + readonly #tracerProvider?: TracerProvider; + readonly #warning?: { + category: string[]; + message: string; + values?: Record; + }; + #cachedJsonLd?: unknown; + readonly id: URL | null; + + protected get _documentLoader(): DocumentLoader | undefined { + return this.#documentLoader; + } + + protected get _contextLoader(): DocumentLoader | undefined { + return this.#contextLoader; + } + + protected get _tracerProvider(): TracerProvider | undefined { + return this.#tracerProvider; + } + + protected get _warning(): { + category: string[]; + message: string; + values?: Record; + } | undefined { + return this.#warning; + } + + protected get _cachedJsonLd(): unknown | undefined { + return this.#cachedJsonLd; + } + + protected set _cachedJsonLd(value: unknown | undefined) { + this.#cachedJsonLd = value; + } + + /** + * The type URI of {@link InteractionRule}: \`https://gotosocial.org/ns#InteractionRule\`. + */ + static get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#InteractionRule\\"); + } + #_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval: (URL)[] = []; +#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval: (URL)[] = []; + + /** + * Constructs a new instance of InteractionRule with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +automaticApproval?: URL | null; +automaticApprovals?: (URL)[];manualApproval?: URL | null; +manualApprovals?: (URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + + this.#documentLoader = options.documentLoader; + this.#contextLoader = options.contextLoader; + this.#tracerProvider = options.tracerProvider; + if (\\"$warning\\" in options) { + this.#warning = options.$warning as unknown as { + category: string[]; + message: string; + values?: Record; + }; + } + if (values.id == null || values.id instanceof URL) { + this.id = values.id ?? null; + } else { + throw new TypeError(\\"The id must be a URL.\\"); + } + + if (\\"automaticApproval\\" in values && values.automaticApproval != null) { + if (values.automaticApproval instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = [values.automaticApproval]; + + } else { + throw new TypeError( + \\"The automaticApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"automaticApprovals\\" in values && values.automaticApprovals != null) { + + if (\\"automaticApproval\\" in values && + values.automaticApproval != null) { + throw new TypeError( + \\"Cannot initialize both automaticApproval and \\" + + \\"automaticApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.automaticApprovals) && + values.automaticApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = values.automaticApprovals; + + } else { + throw new TypeError( + \\"The automaticApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"manualApproval\\" in values && values.manualApproval != null) { + if (values.manualApproval instanceof URL) { + // @ts-ignore: type is checked above. + this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = [values.manualApproval]; + + } else { + throw new TypeError( + \\"The manualApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"manualApprovals\\" in values && values.manualApprovals != null) { + + if (\\"manualApproval\\" in values && + values.manualApproval != null) { + throw new TypeError( + \\"Cannot initialize both manualApproval and \\" + + \\"manualApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.manualApprovals) && + values.manualApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = values.manualApprovals; + + } else { + throw new TypeError( + \\"The manualApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + clone( + values: + { +id?: URL | null; +automaticApproval?: URL | null; +automaticApprovals?: (URL)[];manualApproval?: URL | null; +manualApprovals?: (URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): InteractionRule { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + + // @ts-ignore: this.constructor is not recognized as a constructor, but it is. + const clone: InteractionRule = new this.constructor( + { id: values.id ?? this.id }, + options + ); + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + if (\\"automaticApproval\\" in values && values.automaticApproval != null) { + if (values.automaticApproval instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = [values.automaticApproval]; + + } else { + throw new TypeError( + \\"The automaticApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"automaticApprovals\\" in values && values.automaticApprovals != null) { + + if (\\"automaticApproval\\" in values && + values.automaticApproval != null) { + throw new TypeError( + \\"Cannot update both automaticApproval and \\" + + \\"automaticApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.automaticApprovals) && + values.automaticApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = values.automaticApprovals; + + } else { + throw new TypeError( + \\"The automaticApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + if (\\"manualApproval\\" in values && values.manualApproval != null) { + if (values.manualApproval instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = [values.manualApproval]; + + } else { + throw new TypeError( + \\"The manualApproval must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + if (\\"manualApprovals\\" in values && values.manualApprovals != null) { + + if (\\"manualApproval\\" in values && + values.manualApproval != null) { + throw new TypeError( + \\"Cannot update both manualApproval and \\" + + \\"manualApprovals at the same time.\\", + ); + } + + if (Array.isArray(values.manualApprovals) && + values.manualApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = values.manualApprovals; + + } else { + throw new TypeError( + \\"The manualApprovals must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } + + return clone; + } + +/** URIs of actors or collections whose interactions are automatically + * approved without requiring manual review by the post author. + * + */ + get automaticApproval(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length < 1) return null; + return this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval[0]; + } + +/** URIs of actors or collections whose interactions are automatically + * approved without requiring manual review by the post author. + * + */ +get automaticApprovals(): (URL)[] { + return this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + } + +/** URIs of actors or collections whose interactions require manual approval + * by the post author. The post author can accept or reject these + * interactions at their discretion. + * + */ + get manualApproval(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length < 1) return null; + return this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval[0]; + } + +/** URIs of actors or collections whose interactions require manual approval + * by the post author. The post author can accept or reject these + * interactions at their discretion. + * + */ +get manualApprovals(): (URL)[] { + return this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + const values: Record = {}; + array = []; + for (const v of this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#automaticApproval\\"] = propValue; + + } + + array = []; + for (const v of this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval) { + const element = ( + { \\"@id\\": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#manualApproval\\"] = propValue; + + } + + + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + \\"https://gotosocial.org/ns\\"; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + } + return compacted; + } + + protected isCompactable(): boolean { + + return true; + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__InteractionRule__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__InteractionRule__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#InteractionRule\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + const instance = new this( + { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, + options, + ); + const _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval: (URL)[] = []; + + let _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array = values[\\"https://gotosocial.org/ns#automaticApproval\\"]; + + for ( + const v of _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array == null + ? [] + : _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array.length === 1 && \\"@list\\" in _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array[0] + ? _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array[0][\\"@list\\"] + : _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array + ) { + if (v == null) continue; + _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + const _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval: (URL)[] = []; + + let _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array = values[\\"https://gotosocial.org/ns#manualApproval\\"]; + + for ( + const v of _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array == null + ? [] + : _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array.length === 1 && \\"@list\\" in _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array[0] + ? _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array[0][\\"@list\\"] + : _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array + ) { + if (v == null) continue; + _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.push(v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + + encodeURIComponent( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) + : v[\\"@id\\"].slice(5) + ) + + ( + v[\\"@id\\"].includes(\\"/\\", 5) + ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) + : \\"\\" + ) + ) + : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) + ? new URL(v[\\"@id\\"]) + : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + } + instance.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(this.id!.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(this.id!.href, options), + }; + } + + const _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length == 1) { + proxy.automaticApproval = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval[0]; + } + + if (_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length > 1 + || !(\\"automaticApproval\\" in proxy) + && _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length > 0) { + proxy.automaticApprovals = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + } + + const _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length == 1) { + proxy.manualApproval = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval[0]; + } + + if (_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length > 1 + || !(\\"manualApproval\\" in proxy) + && _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length > 0) { + proxy.manualApprovals = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(InteractionRule.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: InteractionRule, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionRule \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(InteractionRule.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: InteractionRule, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"InteractionRule \\" + inspect(proxy, options); + }; + /** Proves that a {@link Like} interaction has been approved by the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that a like was authorized. The \`attributedTo\` property identifies + * the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class LikeAuthorization extends Object { + + /** + * The type URI of {@link LikeAuthorization}: \`https://gotosocial.org/ns#LikeApproval\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#LikeApproval\\"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of LikeAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): LikeAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as LikeAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link LikeAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the interaction (e.g., a {@link Like} activity) that + * has been authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactingObject\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactingObject\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link LikeAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized interaction. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactionTarget\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactionTarget\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactingObject\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionTarget\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result[\\"type\\"] = \\"LikeAuthorization\\"; + if (this.id != null) result[\\"id\\"] = this.id.href; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactingObject\\"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionTarget\\"] = propValue; + + } + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#LikeApproval\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__LikeAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__LikeAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeApproval\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof LikeAuthorization)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values[\\"https://gotosocial.org/ns#interactingObject\\"]; + + for ( + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null + ? [] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && \\"@list\\" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0][\\"@list\\"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values[\\"https://gotosocial.org/ns#interactionTarget\\"]; + + for ( + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null + ? [] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && \\"@list\\" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0][\\"@list\\"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array + ) { + if (v == null) continue; + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) + } + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + } + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for(\\"Deno.customInspect\\")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => \\"URL \\" + inspect(v.href, options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(v.href, options), + } + : v); + + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(LikeAuthorization.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: LikeAuthorization, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeAuthorization \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(LikeAuthorization.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: LikeAuthorization, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeAuthorization \\" + inspect(proxy, options); + }; + /** A request to like a post that requires approval from the post author. + * + * The \`object\` property references the post to be liked, and + * the \`instrument\` property contains the {@link Like} activity itself. + * + * The post author responds with an {@link Accept} (with a + * {@link LikeAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class LikeRequest extends Activity { + + /** + * The type URI of {@link LikeRequest}: \`https://gotosocial.org/ns#LikeRequest\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#LikeRequest\\"); + } + + /** + * Constructs a new instance of LikeRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): LikeRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as LikeRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#LikeRequest\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__LikeRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__LikeRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#LikeRequest\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof LikeRequest)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(LikeRequest.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: LikeRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeRequest \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(LikeRequest.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: LikeRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"LikeRequest \\" + inspect(proxy, options); + }; + /** Proves that a reply interaction has been approved by the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that a reply was authorized. The \`attributedTo\` property identifies + * the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class ReplyAuthorization extends Object { + + /** + * The type URI of {@link ReplyAuthorization}: \`https://gotosocial.org/ns#ReplyAuthorization\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#ReplyAuthorization\\"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of ReplyAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): ReplyAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as ReplyAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if (\\"interactingObject\\" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + \\"The interactingObject must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if (\\"interactionTarget\\" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + \\"The interactionTarget must be of type \\" + + \\"Object | URL\\" + \\".\\", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link ReplyAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the reply object (e.g., a {@link Note}) that has been + * authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactingObject\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactingObject\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://www.w3.org/ns/activitystreams#Object\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link ReplyAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized reply. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"interactionTarget\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"interactionTarget\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactingObject\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"interactionTarget\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result[\\"type\\"] = \\"ReplyAuthorization\\"; + if (this.id != null) result[\\"id\\"] = this.id.href; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactingObject\\"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://gotosocial.org/ns#interactionTarget\\"] = propValue; + + } + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#ReplyAuthorization\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__ReplyAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__ReplyAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyAuthorization\\")) { throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); } } - const instance = new this( - { id: \\"@id\\" in values ? new URL(values[\\"@id\\"] as string) : undefined }, - options, - ); - const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name: ((string | LanguageString))[] = []; - - let _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array = values[\\"https://www.w3.org/ns/activitystreams#name\\"]; + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof ReplyAuthorization)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values[\\"https://gotosocial.org/ns#interactingObject\\"]; for ( - const v of _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array == null + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null ? [] - : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array.length === 1 && \\"@list\\" in _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0] - ? _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0][\\"@list\\"] - : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && \\"@list\\" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0][\\"@list\\"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array ) { if (v == null) continue; - const decoded = - typeof v === \\"object\\" && \\"@value\\" in v - && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v - && typeof v[\\"@language\\"] === \\"string\\" - && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined - ; - if (typeof decoded === \\"undefined\\") continue; - _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.push(decoded); - + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } - instance.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name; - const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value: ((string | LanguageString))[] = []; - - let _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array = values[\\"http://schema.org#value\\"]; + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values[\\"https://gotosocial.org/ns#interactionTarget\\"]; for ( - const v of _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array == null + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null ? [] - : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array.length === 1 && \\"@list\\" in _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0] - ? _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0][\\"@list\\"] - : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && \\"@list\\" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0][\\"@list\\"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array ) { if (v == null) continue; - const decoded = - typeof v === \\"object\\" && \\"@value\\" in v - && typeof v[\\"@value\\"] === \\"string\\" && !(\\"@language\\" in v) ? v[\\"@value\\"] : typeof v === \\"object\\" && \\"@language\\" in v && \\"@value\\" in v - && typeof v[\\"@language\\"] === \\"string\\" - && typeof v[\\"@value\\"] === \\"string\\" ? new LanguageString(v[\\"@value\\"], v[\\"@language\\"]) : undefined - ; - if (typeof decoded === \\"undefined\\") continue; - _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.push(decoded); - + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } - instance.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value; + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { try { @@ -16163,24 +21879,9 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} return instance; } - protected _getCustomInspectProxy(): Record { - - const proxy: Record = {}; - if (this.id != null) { - proxy.id = { - [Symbol.for(\\"Deno.customInspect\\")]: ( - inspect: typeof Deno.inspect, - options: Deno.InspectOptions, - ): string => \\"URL \\" + inspect(this.id!.href, options), - [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( - _depth: number, - options: unknown, - inspect: (value: unknown, options: unknown) => string, - ): string => \\"URL \\" + inspect(this.id!.href, options), - }; - } - - const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject // deno-lint-ignore no-explicit-any .map((v: any) => v instanceof URL ? { @@ -16196,11 +21897,11 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } : v); - if (_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length == 1) { - proxy.name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name[0]; + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; } - const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = this.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget // deno-lint-ignore no-explicit-any .map((v: any) => v instanceof URL ? { @@ -16216,8 +21917,8 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } : v); - if (_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.length == 1) { - proxy.value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value[0]; + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; } return proxy; @@ -16226,26 +21927,368 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} // deno-lint-ignore no-explicit-any -(PropertyValue.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = +(ReplyAuthorization.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = function ( - this: PropertyValue, + this: ReplyAuthorization, inspect: typeof Deno.inspect, options: Deno.InspectOptions, ): string { const proxy = this._getCustomInspectProxy(); - return \\"PropertyValue \\" + inspect(proxy, options); + return \\"ReplyAuthorization \\" + inspect(proxy, options); }; // deno-lint-ignore no-explicit-any -(PropertyValue.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = +(ReplyAuthorization.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = function ( - this: PropertyValue, + this: ReplyAuthorization, _depth: number, options: unknown, inspect: (value: unknown, options: unknown) => string, ): string { const proxy = this._getCustomInspectProxy(); - return \\"PropertyValue \\" + inspect(proxy, options); + return \\"ReplyAuthorization \\" + inspect(proxy, options); + }; + /** A request to reply to a post that requires approval from the post author. + * + * The \`object\` property references the post to be replied to, and + * the \`instrument\` property contains the reply itself (e.g., a {@link Note}). + * + * The post author responds with an {@link Accept} (with a + * {@link ReplyAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class ReplyRequest extends Activity { + + /** + * The type URI of {@link ReplyRequest}: \`https://gotosocial.org/ns#ReplyRequest\`. + */ + static override get typeId(): URL { + return new URL(\\"https://gotosocial.org/ns#ReplyRequest\\"); + } + + /** + * Constructs a new instance of ReplyRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): ReplyRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as ReplyRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: \\"compact\\" | \\"expand\\", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== \\"compact\\" && options.context != null) { + throw new TypeError( + \\"The context option can only be used when the format option is set \\" + + \\"to 'compact'.\\" + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: \\"expand\\", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { \\"@list\\": unknown[] } | string + >; + + values[\\"@type\\"] = [\\"https://gotosocial.org/ns#ReplyRequest\\"]; + if (this.id != null) values[\\"@id\\"] = this.id.href; + if (options.format === \\"expand\\") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if (\\"proof\\" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element[\\"@context\\"] = docContext; + } + } else { + compacted.proof[\\"@context\\"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan( + \\"activitypub.parse_object\\", + async (span) => { + try { + const object = await this.__fromJsonLd__ReplyRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute(\\"activitypub.object.id\\", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__ReplyRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === \\"undefined\\") { + throw new TypeError(\\"Invalid JSON-LD: undefined.\\"); + } + else if (json === null) throw new TypeError(\\"Invalid JSON-LD: null.\\"); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { \\"@id\\"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { \\"@id\\"?: string }); + } + if (options.baseUrl == null && values[\\"@id\\"] != null) { + options = { ...options, baseUrl: new URL(values[\\"@id\\"]) }; + } + + if (\\"@type\\" in values) { + span.setAttribute(\\"activitypub.object.type\\", values[\\"@type\\"]); + } + if (\\"@type\\" in values && + !values[\\"@type\\"].every(t => t.startsWith(\\"_:\\"))) { + + if (!values[\\"@type\\"].includes(\\"https://gotosocial.org/ns#ReplyRequest\\")) { + throw new TypeError(\\"Invalid type: \\" + values[\\"@type\\"]); + } + } + + delete values[\\"@type\\"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof ReplyRequest)) { + throw new TypeError(\\"Unexpected type: \\" + instance.constructor.name); + } + + if (!(\\"_fromSubclass\\" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"Failed to cache JSON-LD: {json}\\", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(ReplyRequest.prototype as any)[Symbol.for(\\"Deno.customInspect\\")] = + function ( + this: ReplyRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"ReplyRequest \\" + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(ReplyRequest.prototype as any)[Symbol.for(\\"nodejs.util.inspect.custom\\")] = + function ( + this: ReplyRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return \\"ReplyRequest \\" + inspect(proxy, options); }; /** Means of communicating or interacting with the DID subject or associated * entities via one or more service endpoints. Examples include discovery @@ -19842,7 +25885,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19884,7 +25927,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19961,7 +26004,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -20182,7 +26225,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20224,7 +26267,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20301,7 +26344,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -20517,7 +26560,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20559,7 +26602,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20636,7 +26679,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -20897,7 +26940,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -21361,7 +27404,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -25780,7 +31823,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Application\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -26139,7 +32182,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -27442,7 +33485,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27484,7 +33527,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27561,7 +33604,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -27789,7 +33832,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27831,7 +33874,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27908,7 +33951,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -28122,7 +34165,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -28171,7 +34214,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -28295,7 +34338,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result[\\"type\\"] = \\"Article\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -28340,7 +34383,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -28598,7 +34641,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -28660,7 +34703,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -28810,7 +34853,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Document\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -28872,7 +34915,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -29171,7 +35214,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -29207,7 +35250,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -29269,7 +35312,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Audio\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -29295,7 +35338,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -29510,7 +35553,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29552,7 +35595,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29629,7 +35672,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -29850,7 +35893,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29892,7 +35935,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29969,7 +36012,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -30224,7 +36267,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -30435,7 +36478,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} = {}, options: { @@ -33544,7 +39587,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"Collection\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -33768,7 +39811,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -34046,7 +40089,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -34655,7 +40698,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34730,7 +40773,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} = {}, options: { @@ -35536,7 +41579,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"CollectionPage\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -35607,7 +41650,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -35974,7 +42017,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36016,7 +42059,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36093,7 +42136,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -36308,7 +42351,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36350,7 +42393,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36427,7 +42470,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -36640,7 +42683,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36682,7 +42725,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36759,7 +42802,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -38076,7 +44119,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -38112,7 +44155,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -38174,7 +44217,7 @@ proofs?: (DataIntegrityProof | URL)[];} result[\\"type\\"] = \\"Event\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -38200,7 +44243,7 @@ proofs?: (DataIntegrityProof | URL)[];} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -38416,7 +44459,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38458,7 +44501,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38535,7 +44578,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -38752,7 +44795,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38794,7 +44837,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38871,7 +44914,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -39132,7 +45175,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -39596,7 +45639,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -44015,7 +50058,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Group\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -44374,7 +50417,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -47060,7 +53103,7 @@ get names(): ((string | LanguageString))[] { v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } ) : typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -47640,7 +53683,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -47676,7 +53719,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -47738,7 +53781,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Image\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = \\"https://www.w3.org/ns/activitystreams\\"; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -47764,7 +53807,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - \\"https://www.w3.org/ns/activitystreams\\"; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -47980,7 +54023,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48022,7 +54065,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48099,7 +54142,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -48318,7 +54361,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48360,7 +54403,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48437,7 +54480,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -48652,7 +54695,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48694,7 +54737,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48771,7 +54814,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -48986,7 +55029,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49028,7 +55071,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49105,7 +55148,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -49320,7 +55363,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49362,7 +55405,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49439,7 +55482,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -49652,7 +55695,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49694,7 +55737,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49771,7 +55814,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -50285,7 +56328,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -50327,7 +56370,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -50404,7 +56447,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -50620,7 +56663,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -50669,7 +56712,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -50793,7 +56836,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result[\\"type\\"] = \\"Note\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -50838,7 +56881,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -51099,7 +57142,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} , options: { documentLoader?: DocumentLoader, @@ -51154,7 +57197,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} = {}, options: { @@ -51484,7 +57527,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"OrderedCollection\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -51525,7 +57568,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -51686,7 +57729,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -51810,7 +57853,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -51878,7 +57921,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} = {}, options: { @@ -52252,7 +58295,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result[\\"type\\"] = \\"OrderedCollectionPage\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; return result; } @@ -52311,7 +58354,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":\\"toot:votersCount\\",\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -52472,7 +58515,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === \\"object\\" && \\"@type\\" in v - && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( + && Array.isArray(v[\\"@type\\"])&& [\\"https://www.w3.org/ns/activitystreams#Object\\",\\"http://joinmastodon.org/ns#Emoji\\",\\"http://litepub.social/ns#ChatMessage\\",\\"https://gotosocial.org/ns#AnnounceAuthorization\\",\\"https://gotosocial.org/ns#LikeApproval\\",\\"https://gotosocial.org/ns#ReplyAuthorization\\",\\"https://www.w3.org/ns/activitystreams#Activity\\",\\"http://litepub.social/ns#EmojiReact\\",\\"https://gotosocial.org/ns#AnnounceRequest\\",\\"https://gotosocial.org/ns#LikeRequest\\",\\"https://gotosocial.org/ns#ReplyRequest\\",\\"https://www.w3.org/ns/activitystreams#Accept\\",\\"https://www.w3.org/ns/activitystreams#TentativeAccept\\",\\"https://www.w3.org/ns/activitystreams#Add\\",\\"https://www.w3.org/ns/activitystreams#Announce\\",\\"https://www.w3.org/ns/activitystreams#Create\\",\\"https://www.w3.org/ns/activitystreams#Delete\\",\\"https://www.w3.org/ns/activitystreams#Dislike\\",\\"https://www.w3.org/ns/activitystreams#Flag\\",\\"https://www.w3.org/ns/activitystreams#Follow\\",\\"https://www.w3.org/ns/activitystreams#Ignore\\",\\"https://www.w3.org/ns/activitystreams#Block\\",\\"https://www.w3.org/ns/activitystreams#IntransitiveActivity\\",\\"https://www.w3.org/ns/activitystreams#Arrive\\",\\"https://www.w3.org/ns/activitystreams#Question\\",\\"https://www.w3.org/ns/activitystreams#Travel\\",\\"https://www.w3.org/ns/activitystreams#Join\\",\\"https://www.w3.org/ns/activitystreams#Leave\\",\\"https://www.w3.org/ns/activitystreams#Like\\",\\"https://www.w3.org/ns/activitystreams#Listen\\",\\"https://www.w3.org/ns/activitystreams#Move\\",\\"https://www.w3.org/ns/activitystreams#Offer\\",\\"https://www.w3.org/ns/activitystreams#Invite\\",\\"https://www.w3.org/ns/activitystreams#Read\\",\\"https://www.w3.org/ns/activitystreams#Reject\\",\\"https://www.w3.org/ns/activitystreams#TentativeReject\\",\\"https://www.w3.org/ns/activitystreams#Remove\\",\\"https://www.w3.org/ns/activitystreams#Undo\\",\\"https://www.w3.org/ns/activitystreams#Update\\",\\"https://www.w3.org/ns/activitystreams#View\\",\\"https://www.w3.org/ns/activitystreams#Application\\",\\"https://www.w3.org/ns/activitystreams#Article\\",\\"https://www.w3.org/ns/activitystreams#Collection\\",\\"https://www.w3.org/ns/activitystreams#CollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollectionPage\\",\\"https://www.w3.org/ns/activitystreams#OrderedCollection\\",\\"https://www.w3.org/ns/activitystreams#Document\\",\\"https://www.w3.org/ns/activitystreams#Audio\\",\\"https://www.w3.org/ns/activitystreams#Image\\",\\"https://www.w3.org/ns/activitystreams#Page\\",\\"https://www.w3.org/ns/activitystreams#Video\\",\\"https://www.w3.org/ns/activitystreams#Event\\",\\"https://www.w3.org/ns/activitystreams#Group\\",\\"https://www.w3.org/ns/activitystreams#Note\\",\\"https://www.w3.org/ns/activitystreams#Organization\\",\\"https://www.w3.org/ns/activitystreams#Person\\",\\"https://www.w3.org/ns/activitystreams#Place\\",\\"https://www.w3.org/ns/activitystreams#Profile\\",\\"https://www.w3.org/ns/activitystreams#Relationship\\",\\"https://www.w3.org/ns/activitystreams#Service\\",\\"https://www.w3.org/ns/activitystreams#Tombstone\\"].some( t => v[\\"@type\\"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } @@ -52672,7 +58715,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -53136,7 +59179,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -57555,7 +63598,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Organization\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -57914,7 +63957,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -59214,7 +65257,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -59250,7 +65293,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -59312,7 +65355,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Page\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -59338,7 +65381,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -59599,7 +65642,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -60063,7 +66106,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -64482,7 +70525,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Person\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -64841,7 +70884,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -66150,7 +72193,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -66264,7 +72307,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} = {}, options: { @@ -66590,7 +72633,7 @@ proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number result[\\"type\\"] = \\"Place\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -66721,7 +72764,7 @@ proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -67176,7 +73219,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -67225,7 +73268,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} = {}, options: { @@ -67536,7 +73579,7 @@ proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} result[\\"type\\"] = \\"Profile\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -67577,7 +73620,7 @@ proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -67857,7 +73900,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -67976,7 +74019,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -68708,7 +74751,7 @@ instruments?: (Object | URL)[];exclusiveOptions?: (Object | URL)[];inclusiveOpti ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -69155,7 +75198,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69197,7 +75240,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69274,7 +75317,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -69489,7 +75532,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69531,7 +75574,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69608,7 +75651,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -69841,7 +75884,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -69972,7 +76015,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -71033,7 +77076,7 @@ relationships?: (Object | URL)[];} result[\\"type\\"] = \\"Relationship\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -71104,7 +77147,7 @@ relationships?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -71481,7 +77524,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -71523,7 +77566,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -71600,7 +77643,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -71861,7 +77904,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -72325,7 +78368,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -76744,7 +82787,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result[\\"type\\"] = \\"Service\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; return result; } @@ -77103,7 +83146,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -79046,7 +85089,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79088,7 +85131,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79165,7 +85208,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -79380,7 +85423,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79422,7 +85465,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79499,7 +85542,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -79716,7 +85759,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} , options: { documentLoader?: DocumentLoader, @@ -79765,7 +85808,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} = {}, options: { @@ -79871,7 +85914,7 @@ proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} result[\\"type\\"] = \\"Tombstone\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -79915,7 +85958,7 @@ proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -80171,7 +86214,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80213,7 +86256,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80290,7 +86333,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -80510,7 +86553,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80552,7 +86595,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80629,7 +86672,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; const compacted = await jsonld.compact( values, docContext, @@ -80847,7 +86890,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80889,7 +86932,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80966,7 +87009,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"sensitive\\":\\"as:sensitive\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/v1\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://www.w3.org/ns/did/v1\\",\\"https://w3id.org/security/multikey/v1\\",\\"https://gotosocial.org/ns\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"manuallyApprovesFollowers\\":\\"as:manuallyApprovesFollowers\\",\\"sensitive\\":\\"as:sensitive\\",\\"movedTo\\":{\\"@id\\":\\"as:movedTo\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"featured\\":{\\"@id\\":\\"toot:featured\\",\\"@type\\":\\"@id\\"},\\"featuredTags\\":{\\"@id\\":\\"toot:featuredTags\\",\\"@type\\":\\"@id\\"},\\"discoverable\\":\\"toot:discoverable\\",\\"suspended\\":\\"toot:suspended\\",\\"memorial\\":\\"toot:memorial\\",\\"indexable\\":\\"toot:indexable\\",\\"votersCount\\":{\\"@id\\":\\"toot:votersCount\\",\\"@type\\":\\"http://www.w3.org/2001/XMLSchema#nonNegativeInteger\\"},\\"Emoji\\":\\"toot:Emoji\\",\\"Hashtag\\":\\"as:Hashtag\\",\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\",\\"ChatMessage\\":\\"http://litepub.social/ns#ChatMessage\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"misskey\\":\\"https://misskey-hub.net/ns#\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"_misskey_followedMessage\\":\\"misskey:_misskey_followedMessage\\",\\"isCat\\":\\"misskey:isCat\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; const compacted = await jsonld.compact( values, docContext, @@ -81179,7 +87222,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -81215,7 +87258,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -81277,7 +87320,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result[\\"type\\"] = \\"Video\\"; if (this.id != null) result[\\"id\\"] = this.id.href; - result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; return result; } @@ -81303,7 +87346,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, @@ -81517,7 +87560,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -81559,7 +87602,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -81636,7 +87679,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\"]; + [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; const compacted = await jsonld.compact( values, docContext, diff --git a/packages/vocab-tools/src/__snapshots__/class.test.ts.snap b/packages/vocab-tools/src/__snapshots__/class.test.ts.snap index f42b26359..8dd04f7a7 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.snap @@ -147,7 +147,12 @@ export class Object { #_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: (DataIntegrityProof | URL)[] = []; #_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: Set = new Set(); - + #_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; +#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; +#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; +#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; +#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + /** * Constructs a new instance of Object with the given values. * @param values The values to initialize the instance with. @@ -173,7 +178,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -1053,6 +1058,71 @@ proofs?: (DataIntegrityProof | URL)[];} ); } } + + if ("interactionPolicy" in values && values.interactionPolicy != null) { + if (values.interactionPolicy instanceof InteractionPolicy) { + // @ts-ignore: type is checked above. + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = [values.interactionPolicy]; + + } else { + throw new TypeError( + "The interactionPolicy must be of type " + + "InteractionPolicy" + ".", + ); + } + } + + if ("approvedBy" in values && values.approvedBy != null) { + if (values.approvedBy instanceof URL) { + // @ts-ignore: type is checked above. + this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = [values.approvedBy]; + + } else { + throw new TypeError( + "The approvedBy must be of type " + + "URL" + ".", + ); + } + } + + if ("likeAuthorization" in values && values.likeAuthorization != null) { + if (values.likeAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; + + } else { + throw new TypeError( + "The likeAuthorization must be of type " + + "URL" + ".", + ); + } + } + + if ("replyAuthorization" in values && values.replyAuthorization != null) { + if (values.replyAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; + + } else { + throw new TypeError( + "The replyAuthorization must be of type " + + "URL" + ".", + ); + } + } + + if ("announceAuthorization" in values && values.announceAuthorization != null) { + if (values.announceAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; + + } else { + throw new TypeError( + "The announceAuthorization must be of type " + + "URL" + ".", + ); + } + } } /** @@ -1081,7 +1151,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -1975,6 +2045,71 @@ proofs?: (DataIntegrityProof | URL)[];} ); } } + clone.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy; + if ("interactionPolicy" in values && values.interactionPolicy != null) { + if (values.interactionPolicy instanceof InteractionPolicy) { + // @ts-ignore: type is checked above. + clone.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = [values.interactionPolicy]; + + } else { + throw new TypeError( + "The interactionPolicy must be of type " + + "InteractionPolicy" + ".", + ); + } + } + clone.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; + if ("approvedBy" in values && values.approvedBy != null) { + if (values.approvedBy instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = [values.approvedBy]; + + } else { + throw new TypeError( + "The approvedBy must be of type " + + "URL" + ".", + ); + } + } + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + if ("likeAuthorization" in values && values.likeAuthorization != null) { + if (values.likeAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; + + } else { + throw new TypeError( + "The likeAuthorization must be of type " + + "URL" + ".", + ); + } + } + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + if ("replyAuthorization" in values && values.replyAuthorization != null) { + if (values.replyAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; + + } else { + throw new TypeError( + "The replyAuthorization must be of type " + + "URL" + ".", + ); + } + } + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; + if ("announceAuthorization" in values && values.announceAuthorization != null) { + if (values.announceAuthorization instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; + + } else { + throw new TypeError( + "The announceAuthorization must be of type " + + "URL" + ".", + ); + } + } return clone; } @@ -7810,6 +7945,90 @@ get urls(): ((URL | Link))[] { } } +/** The interaction policy for this object, specifying who can like, reply to, + * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, + * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` + * lists. + * + * When absent, implementations should assume anyone can interact with + * the object. Setting this property signals that the server understands + * and will enforce interaction controls. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ + get interactionPolicy(): (InteractionPolicy | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; + return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + +/** A URI referencing an authorization object that proves this interaction + * was approved by the target post's author. + * + */ + get approvedBy(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; + return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + +/** A URI referencing a {@link LikeAuthorization} object that proves + * this like interaction was approved by the target post's author. + * + */ + get likeAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + return this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + } + +/** A URI referencing a {@link ReplyAuthorization} object that proves + * this reply was approved by the target post's author. + * + */ + get replyAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + return this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + } + +/** A URI referencing an {@link AnnounceAuthorization} object that proves + * this announce (boost) was approved by the target post's author. + * + */ + get announceAuthorization(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + return this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -8501,9 +8720,93 @@ get urls(): ((URL | Link))[] { } + compactItems = []; + for (const v of this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy) { + const item = ( + await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["interactionPolicy"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["approvedBy"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["likeAuthorization"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["replyAuthorization"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { + const item = ( + v.href + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["announceAuthorization"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Object"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -9014,6 +9317,81 @@ get urls(): ((URL | Link))[] { } + array = []; + for (const v of this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#interactionPolicy"] = propValue; + + } + + array = []; + for (const v of this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy) { + const element = ( + { "@id": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#approvedBy"] = propValue; + + } + + array = []; + for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { + const element = ( + { "@id": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#likeAuthorization"] = propValue; + + } + + array = []; + for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { + const element = ( + { "@id": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#replyAuthorization"] = propValue; + + } + + array = []; + for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { + const element = ( + { "@id": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#announceAuthorization"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Object"]; if (this.id != null) values["@id"] = this.id.href; if (options.format === "expand") { @@ -9023,7 +9401,7 @@ get urls(): ((URL | Link))[] { ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -9069,6 +9447,11 @@ get urls(): ((URL | Link))[] { this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length > 0 ) return false; + if ( + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy != null && + this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length > 0 + ) return false; + return true; } @@ -9171,6 +9554,18 @@ get urls(): ((URL | Link))[] { return await ChatMessage.fromJsonLd(json, options); } + if (values["@type"].includes("https://gotosocial.org/ns#AnnounceAuthorization")) { + return await AnnounceAuthorization.fromJsonLd(json, options); + } + + if (values["@type"].includes("https://gotosocial.org/ns#LikeApproval")) { + return await LikeAuthorization.fromJsonLd(json, options); + } + + if (values["@type"].includes("https://gotosocial.org/ns#ReplyAuthorization")) { + return await ReplyAuthorization.fromJsonLd(json, options); + } + if (values["@type"].includes("https://www.w3.org/ns/activitystreams#Activity")) { return await Activity.fromJsonLd(json, options); } @@ -9179,6 +9574,18 @@ get urls(): ((URL | Link))[] { return await EmojiReact.fromJsonLd(json, options); } + if (values["@type"].includes("https://gotosocial.org/ns#AnnounceRequest")) { + return await AnnounceRequest.fromJsonLd(json, options); + } + + if (values["@type"].includes("https://gotosocial.org/ns#LikeRequest")) { + return await LikeRequest.fromJsonLd(json, options); + } + + if (values["@type"].includes("https://gotosocial.org/ns#ReplyRequest")) { + return await ReplyRequest.fromJsonLd(json, options); + } + if (values["@type"].includes("https://www.w3.org/ns/activitystreams#Accept")) { return await Accept.fromJsonLd(json, options); } @@ -9415,7 +9822,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -9569,7 +9976,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -9655,7 +10062,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -9758,7 +10165,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -9801,7 +10208,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -9849,7 +10256,7 @@ get urls(): ((URL | Link))[] { v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } ) : typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -10069,7 +10476,7 @@ get urls(): ((URL | Link))[] { const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -10360,6 +10767,144 @@ get urls(): ((URL | Link))[] { )) } instance.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof = _42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; + const _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; + + let _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array = values["https://gotosocial.org/ns#interactionPolicy"]; + + for ( + const v of _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array == null + ? [] + : _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array.length === 1 && "@list" in _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array[0] + ? _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array[0]["@list"] + : _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy__array + ) { + if (v == null) continue; + _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.push(await InteractionPolicy.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy; + const _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; + + let _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array = values["https://gotosocial.org/ns#approvedBy"]; + + for ( + const v of _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array == null + ? [] + : _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array.length === 1 && "@list" in _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array[0] + ? _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array[0]["@list"] + : _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy__array + ) { + if (v == null) continue; + _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.push(v["@id"].startsWith("at://") + ? new URL("at://" + + encodeURIComponent( + v["@id"].includes("/", 5) + ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) + : v["@id"].slice(5) + ) + + ( + v["@id"].includes("/", 5) + ? v["@id"].slice(v["@id"].indexOf("/", 5)) + : "" + ) + ) + : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) + ? new URL(v["@id"]) + : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + } + instance.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; + + let _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array = values["https://gotosocial.org/ns#likeAuthorization"]; + + for ( + const v of _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array == null + ? [] + : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array.length === 1 && "@list" in _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array[0] + ? _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array[0]["@list"] + : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array + ) { + if (v == null) continue; + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(v["@id"].startsWith("at://") + ? new URL("at://" + + encodeURIComponent( + v["@id"].includes("/", 5) + ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) + : v["@id"].slice(5) + ) + + ( + v["@id"].includes("/", 5) + ? v["@id"].slice(v["@id"].indexOf("/", 5)) + : "" + ) + ) + : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) + ? new URL(v["@id"]) + : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + } + instance.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; + + let _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array = values["https://gotosocial.org/ns#replyAuthorization"]; + + for ( + const v of _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array == null + ? [] + : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array.length === 1 && "@list" in _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array[0] + ? _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array[0]["@list"] + : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array + ) { + if (v == null) continue; + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(v["@id"].startsWith("at://") + ? new URL("at://" + + encodeURIComponent( + v["@id"].includes("/", 5) + ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) + : v["@id"].slice(5) + ) + + ( + v["@id"].includes("/", 5) + ? v["@id"].slice(v["@id"].indexOf("/", 5)) + : "" + ) + ) + : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) + ? new URL(v["@id"]) + : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + } + instance.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + + let _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array = values["https://gotosocial.org/ns#announceAuthorization"]; + + for ( + const v of _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array == null + ? [] + : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array.length === 1 && "@list" in _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array[0] + ? _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array[0]["@list"] + : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array + ) { + if (v == null) continue; + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(v["@id"].startsWith("at://") + ? new URL("at://" + + encodeURIComponent( + v["@id"].includes("/", 5) + ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) + : v["@id"].slice(5) + ) + + ( + v["@id"].includes("/", 5) + ? v["@id"].slice(v["@id"].indexOf("/", 5)) + : "" + ) + ) + : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) + ? new URL(v["@id"]) + : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + } + instance.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; if (!("_fromSubclass" in options) || !options._fromSubclass) { try { @@ -11135,6 +11680,106 @@ get urls(): ((URL | Link))[] { proxy.proofs = _42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; } + const _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy = this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length == 1) { + proxy.interactionPolicy = _2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + + const _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length == 1) { + proxy.approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length == 1) { + proxy.likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + } + + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length == 1) { + proxy.replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + } + + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length == 1) { + proxy.announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; + } + return proxy; } } @@ -11198,7 +11843,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11234,7 +11879,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -11541,7 +12186,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11590,7 +12235,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -11714,7 +12359,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result["type"] = "ChatMessage"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","Emoji":"toot:Emoji","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","Emoji":"toot:Emoji","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -11759,7 +12404,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","Emoji":"toot:Emoji","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","Emoji":"toot:Emoji","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -12038,7 +12683,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -12320,7 +12965,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -14659,7 +15304,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -14783,6 +15428,18 @@ instruments?: (Object | URL)[];} return await EmojiReact.fromJsonLd(json, options); } + if (values["@type"].includes("https://gotosocial.org/ns#AnnounceRequest")) { + return await AnnounceRequest.fromJsonLd(json, options); + } + + if (values["@type"].includes("https://gotosocial.org/ns#LikeRequest")) { + return await LikeRequest.fromJsonLd(json, options); + } + + if (values["@type"].includes("https://gotosocial.org/ns#ReplyRequest")) { + return await ReplyRequest.fromJsonLd(json, options); + } + if (values["@type"].includes("https://www.w3.org/ns/activitystreams#Accept")) { return await Accept.fromJsonLd(json, options); } @@ -15352,7 +16009,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -15394,7 +16051,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -15471,7 +16128,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"litepub":"http://litepub.social/ns#","toot":"http://joinmastodon.org/ns#","EmojiReact":"litepub:EmojiReact","Emoji":"toot:Emoji"}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"litepub":"http://litepub.social/ns#","toot":"http://joinmastodon.org/ns#","EmojiReact":"litepub:EmojiReact","Emoji":"toot:Emoji"}]; const compacted = await jsonld.compact( values, docContext, @@ -16094,63 +16751,5122 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} if ("@type" in values && !values["@type"].every(t => t.startsWith("_:"))) { - if (!values["@type"].includes("http://schema.org#PropertyValue")) { + if (!values["@type"].includes("http://schema.org#PropertyValue")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + const instance = new this( + { id: "@id" in values ? new URL(values["@id"] as string) : undefined }, + options, + ); + const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name: ((string | LanguageString))[] = []; + + let _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array = values["https://www.w3.org/ns/activitystreams#name"]; + + for ( + const v of _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array == null + ? [] + : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array.length === 1 && "@list" in _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0] + ? _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0]["@list"] + : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array + ) { + if (v == null) continue; + + const decoded = + typeof v === "object" && "@value" in v + && typeof v["@value"] === "string" && !("@language" in v) ? v["@value"] : typeof v === "object" && "@language" in v && "@value" in v + && typeof v["@language"] === "string" + && typeof v["@value"] === "string" ? new LanguageString(v["@value"], v["@language"]) : undefined + ; + if (typeof decoded === "undefined") continue; + _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.push(decoded); + + } + instance.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name; + const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value: ((string | LanguageString))[] = []; + + let _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array = values["http://schema.org#value"]; + + for ( + const v of _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array == null + ? [] + : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array.length === 1 && "@list" in _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0] + ? _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0]["@list"] + : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array + ) { + if (v == null) continue; + + const decoded = + typeof v === "object" && "@value" in v + && typeof v["@value"] === "string" && !("@language" in v) ? v["@value"] : typeof v === "object" && "@language" in v && "@value" in v + && typeof v["@language"] === "string" + && typeof v["@value"] === "string" ? new LanguageString(v["@value"], v["@language"]) : undefined + ; + if (typeof decoded === "undefined") continue; + _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.push(decoded); + + } + instance.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value; + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(this.id!.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(this.id!.href, options), + }; + } + + const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length == 1) { + proxy.name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name[0]; + } + + const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = this.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.length == 1) { + proxy.value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(PropertyValue.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: PropertyValue, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "PropertyValue " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(PropertyValue.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: PropertyValue, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "PropertyValue " + inspect(proxy, options); + }; + /** Proves that an {@link Announce} interaction has been approved by + * the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that an announce (boost) was authorized. The \`attributedTo\` property + * identifies the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class AnnounceAuthorization extends Object { + + /** + * The type URI of {@link AnnounceAuthorization}: \`https://gotosocial.org/ns#AnnounceAuthorization\`. + */ + static override get typeId(): URL { + return new URL("https://gotosocial.org/ns#AnnounceAuthorization"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of AnnounceAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if ("interactingObject" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + "The interactingObject must be of type " + + "Object | URL" + ".", + ); + } + } + + if ("interactionTarget" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + "The interactionTarget must be of type " + + "Object | URL" + ".", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): AnnounceAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as AnnounceAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if ("interactingObject" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + "The interactingObject must be of type " + + "Object | URL" + ".", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if ("interactionTarget" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + "The interactionTarget must be of type " + + "Object | URL" + ".", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://www.w3.org/ns/activitystreams#Object"].join(", ")); + } + + + /** + * Similar to + * {@link AnnounceAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the interaction (e.g., an {@link Announce} activity) that + * has been authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "interactingObject" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "interactingObject"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://www.w3.org/ns/activitystreams#Object"].join(", ")); + } + + + /** + * Similar to + * {@link AnnounceAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized announce. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "interactionTarget" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "interactionTarget"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["interactingObject"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["interactionTarget"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result["type"] = "AnnounceAuthorization"; + if (this.id != null) result["id"] = this.id.href; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: "expand", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { "@list": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#interactingObject"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#interactionTarget"] = propValue; + + } + + values["@type"] = ["https://gotosocial.org/ns#AnnounceAuthorization"]; + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if ("proof" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element["@context"] = docContext; + } + } else { + compacted.proof["@context"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__AnnounceAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__AnnounceAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#AnnounceAuthorization")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + delete values["@type"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof AnnounceAuthorization)) { + throw new TypeError("Unexpected type: " + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values["https://gotosocial.org/ns#interactingObject"]; + + for ( + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null + ? [] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && "@list" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0]["@list"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array + ) { + if (v == null) continue; + + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values["https://gotosocial.org/ns#interactionTarget"]; + + for ( + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null + ? [] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && "@list" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0]["@list"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array + ) { + if (v == null) continue; + + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + } + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(AnnounceAuthorization.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: AnnounceAuthorization, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "AnnounceAuthorization " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(AnnounceAuthorization.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: AnnounceAuthorization, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "AnnounceAuthorization " + inspect(proxy, options); + }; + /** A request to announce (boost) a post that requires approval from + * the post author. + * + * The \`object\` property references the post to be announced, and + * the \`instrument\` property contains the {@link Announce} activity itself. + * + * The post author responds with an {@link Accept} (with an + * {@link AnnounceAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class AnnounceRequest extends Activity { + + /** + * The type URI of {@link AnnounceRequest}: \`https://gotosocial.org/ns#AnnounceRequest\`. + */ + static override get typeId(): URL { + return new URL("https://gotosocial.org/ns#AnnounceRequest"); + } + + /** + * Constructs a new instance of AnnounceRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): AnnounceRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as AnnounceRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: "expand", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { "@list": unknown[] } | string + >; + + values["@type"] = ["https://gotosocial.org/ns#AnnounceRequest"]; + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if ("proof" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element["@context"] = docContext; + } + } else { + compacted.proof["@context"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__AnnounceRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__AnnounceRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#AnnounceRequest")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + delete values["@type"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof AnnounceRequest)) { + throw new TypeError("Unexpected type: " + instance.constructor.name); + } + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(AnnounceRequest.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: AnnounceRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "AnnounceRequest " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(AnnounceRequest.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: AnnounceRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "AnnounceRequest " + inspect(proxy, options); + }; + /** Represents an interaction policy attached to a post, specifying who can + * like, reply to, or announce it. Each sub-policy ({@link InteractionRule}) + * defines which actors receive automatic or manual approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class InteractionPolicy { + + readonly #documentLoader?: DocumentLoader; + readonly #contextLoader?: DocumentLoader; + readonly #tracerProvider?: TracerProvider; + readonly #warning?: { + category: string[]; + message: string; + values?: Record; + }; + #cachedJsonLd?: unknown; + readonly id: URL | null; + + protected get _documentLoader(): DocumentLoader | undefined { + return this.#documentLoader; + } + + protected get _contextLoader(): DocumentLoader | undefined { + return this.#contextLoader; + } + + protected get _tracerProvider(): TracerProvider | undefined { + return this.#tracerProvider; + } + + protected get _warning(): { + category: string[]; + message: string; + values?: Record; + } | undefined { + return this.#warning; + } + + protected get _cachedJsonLd(): unknown | undefined { + return this.#cachedJsonLd; + } + + protected set _cachedJsonLd(value: unknown | undefined) { + this.#cachedJsonLd = value; + } + + /** + * The type URI of {@link InteractionPolicy}: \`https://gotosocial.org/ns#InteractionPolicy\`. + */ + static get typeId(): URL { + return new URL("https://gotosocial.org/ns#InteractionPolicy"); + } + #_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike: (InteractionRule)[] = []; +#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply: (InteractionRule)[] = []; +#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce: (InteractionRule)[] = []; + + /** + * Constructs a new instance of InteractionPolicy with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +canLike?: InteractionRule | null;canReply?: InteractionRule | null;canAnnounce?: InteractionRule | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + + this.#documentLoader = options.documentLoader; + this.#contextLoader = options.contextLoader; + this.#tracerProvider = options.tracerProvider; + if ("$warning" in options) { + this.#warning = options.$warning as unknown as { + category: string[]; + message: string; + values?: Record; + }; + } + if (values.id == null || values.id instanceof URL) { + this.id = values.id ?? null; + } else { + throw new TypeError("The id must be a URL."); + } + + if ("canLike" in values && values.canLike != null) { + if (values.canLike instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = [values.canLike]; + + } else { + throw new TypeError( + "The canLike must be of type " + + "InteractionRule" + ".", + ); + } + } + + if ("canReply" in values && values.canReply != null) { + if (values.canReply instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = [values.canReply]; + + } else { + throw new TypeError( + "The canReply must be of type " + + "InteractionRule" + ".", + ); + } + } + + if ("canAnnounce" in values && values.canAnnounce != null) { + if (values.canAnnounce instanceof InteractionRule) { + // @ts-ignore: type is checked above. + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = [values.canAnnounce]; + + } else { + throw new TypeError( + "The canAnnounce must be of type " + + "InteractionRule" + ".", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + clone( + values: + { +id?: URL | null; +canLike?: InteractionRule | null;canReply?: InteractionRule | null;canAnnounce?: InteractionRule | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): InteractionPolicy { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + + // @ts-ignore: this.constructor is not recognized as a constructor, but it is. + const clone: InteractionPolicy = new this.constructor( + { id: values.id ?? this.id }, + options + ); + clone.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike; + if ("canLike" in values && values.canLike != null) { + if (values.canLike instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = [values.canLike]; + + } else { + throw new TypeError( + "The canLike must be of type " + + "InteractionRule" + ".", + ); + } + } + clone.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply; + if ("canReply" in values && values.canReply != null) { + if (values.canReply instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = [values.canReply]; + + } else { + throw new TypeError( + "The canReply must be of type " + + "InteractionRule" + ".", + ); + } + } + clone.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce; + if ("canAnnounce" in values && values.canAnnounce != null) { + if (values.canAnnounce instanceof InteractionRule) { + // @ts-ignore: type is checked above. + clone.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = [values.canAnnounce]; + + } else { + throw new TypeError( + "The canAnnounce must be of type " + + "InteractionRule" + ".", + ); + } + } + + return clone; + } + +/** The sub-policy specifying who can like the post. + * + * When absent, implementations should assume that anyone can like the post + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canLike(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length < 1) return null; + return this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike[0]; + } + +/** The sub-policy specifying who can reply to the post. + * + * When absent, implementations should assume that anyone can reply + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canReply(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length < 1) return null; + return this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply[0]; + } + +/** The sub-policy specifying who can announce (boost) the post. + * + * When absent, implementations should assume that anyone can announce + * (i.e., \`automaticApproval\` defaults to the public collection). + * + */ + get canAnnounce(): (InteractionRule | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length < 1) return null; + return this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce[0]; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + const values: Record = {}; + array = []; + for (const v of this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#canLike"] = propValue; + + } + + array = []; + for (const v of this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#canReply"] = propValue; + + } + + array = []; + for (const v of this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce) { + const element = ( + await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#canAnnounce"] = propValue; + + } + + + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + "https://gotosocial.org/ns"; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + } + return compacted; + } + + protected isCompactable(): boolean { + + if ( + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike != null && + this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length > 0 + ) return false; + + if ( + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply != null && + this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length > 0 + ) return false; + + if ( + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce != null && + this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length > 0 + ) return false; + + return true; + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__InteractionPolicy__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__InteractionPolicy__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#InteractionPolicy")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + const instance = new this( + { id: "@id" in values ? new URL(values["@id"] as string) : undefined }, + options, + ); + const _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike: (InteractionRule)[] = []; + + let _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array = values["https://gotosocial.org/ns#canLike"]; + + for ( + const v of _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array == null + ? [] + : _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array.length === 1 && "@list" in _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array[0] + ? _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array[0]["@list"] + : _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike__array + ) { + if (v == null) continue; + _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike; + const _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply: (InteractionRule)[] = []; + + let _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array = values["https://gotosocial.org/ns#canReply"]; + + for ( + const v of _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array == null + ? [] + : _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array.length === 1 && "@list" in _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array[0] + ? _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array[0]["@list"] + : _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply__array + ) { + if (v == null) continue; + _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply; + const _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce: (InteractionRule)[] = []; + + let _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array = values["https://gotosocial.org/ns#canAnnounce"]; + + for ( + const v of _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array == null + ? [] + : _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array.length === 1 && "@list" in _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array[0] + ? _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array[0]["@list"] + : _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce__array + ) { + if (v == null) continue; + _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.push(await InteractionRule.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce; + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(this.id!.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(this.id!.href, options), + }; + } + + const _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike = this.#_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike.length == 1) { + proxy.canLike = _3JkwVLb3BNCwCWdsb5RftGAg8vyT_canLike[0]; + } + + const _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply = this.#_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply.length == 1) { + proxy.canReply = _2UBgLRi5p3DRGGvWyB227i4Qjhzd_canReply[0]; + } + + const _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce = this.#_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce.length == 1) { + proxy.canAnnounce = _fu5nmoAj528fBQfnxhY9Daok3Vi_canAnnounce[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(InteractionPolicy.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: InteractionPolicy, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "InteractionPolicy " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(InteractionPolicy.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: InteractionPolicy, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "InteractionPolicy " + inspect(proxy, options); + }; + /** Represents a sub-policy within an {@link InteractionPolicy}, defining which + * actors receive automatic or manual approval for a specific interaction type + * (like, reply, or announce). + * + * Valid values in the approval lists include: + * + * - The ActivityStreams public collection + * (\`https://www.w3.org/ns/activitystreams#Public\`) for anyone + * - The post author's \`followers\` or \`following\` collection URIs + * - Individual actor URIs + * + * When an actor appears in both \`automaticApproval\` and \`manualApproval\`, + * the more specific value takes precedence (individual URI overrides + * collection membership), and \`automaticApproval\` takes precedence over + * \`manualApproval\` for identical URIs. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class InteractionRule { + + readonly #documentLoader?: DocumentLoader; + readonly #contextLoader?: DocumentLoader; + readonly #tracerProvider?: TracerProvider; + readonly #warning?: { + category: string[]; + message: string; + values?: Record; + }; + #cachedJsonLd?: unknown; + readonly id: URL | null; + + protected get _documentLoader(): DocumentLoader | undefined { + return this.#documentLoader; + } + + protected get _contextLoader(): DocumentLoader | undefined { + return this.#contextLoader; + } + + protected get _tracerProvider(): TracerProvider | undefined { + return this.#tracerProvider; + } + + protected get _warning(): { + category: string[]; + message: string; + values?: Record; + } | undefined { + return this.#warning; + } + + protected get _cachedJsonLd(): unknown | undefined { + return this.#cachedJsonLd; + } + + protected set _cachedJsonLd(value: unknown | undefined) { + this.#cachedJsonLd = value; + } + + /** + * The type URI of {@link InteractionRule}: \`https://gotosocial.org/ns#InteractionRule\`. + */ + static get typeId(): URL { + return new URL("https://gotosocial.org/ns#InteractionRule"); + } + #_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval: (URL)[] = []; +#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval: (URL)[] = []; + + /** + * Constructs a new instance of InteractionRule with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +automaticApproval?: URL | null; +automaticApprovals?: (URL)[];manualApproval?: URL | null; +manualApprovals?: (URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + + this.#documentLoader = options.documentLoader; + this.#contextLoader = options.contextLoader; + this.#tracerProvider = options.tracerProvider; + if ("$warning" in options) { + this.#warning = options.$warning as unknown as { + category: string[]; + message: string; + values?: Record; + }; + } + if (values.id == null || values.id instanceof URL) { + this.id = values.id ?? null; + } else { + throw new TypeError("The id must be a URL."); + } + + if ("automaticApproval" in values && values.automaticApproval != null) { + if (values.automaticApproval instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = [values.automaticApproval]; + + } else { + throw new TypeError( + "The automaticApproval must be of type " + + "URL" + ".", + ); + } + } + + if ("automaticApprovals" in values && values.automaticApprovals != null) { + + if ("automaticApproval" in values && + values.automaticApproval != null) { + throw new TypeError( + "Cannot initialize both automaticApproval and " + + "automaticApprovals at the same time.", + ); + } + + if (Array.isArray(values.automaticApprovals) && + values.automaticApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = values.automaticApprovals; + + } else { + throw new TypeError( + "The automaticApprovals must be an array of type " + + "URL" + ".", + ); + } + } + + if ("manualApproval" in values && values.manualApproval != null) { + if (values.manualApproval instanceof URL) { + // @ts-ignore: type is checked above. + this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = [values.manualApproval]; + + } else { + throw new TypeError( + "The manualApproval must be of type " + + "URL" + ".", + ); + } + } + + if ("manualApprovals" in values && values.manualApprovals != null) { + + if ("manualApproval" in values && + values.manualApproval != null) { + throw new TypeError( + "Cannot initialize both manualApproval and " + + "manualApprovals at the same time.", + ); + } + + if (Array.isArray(values.manualApprovals) && + values.manualApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = values.manualApprovals; + + } else { + throw new TypeError( + "The manualApprovals must be an array of type " + + "URL" + ".", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + clone( + values: + { +id?: URL | null; +automaticApproval?: URL | null; +automaticApprovals?: (URL)[];manualApproval?: URL | null; +manualApprovals?: (URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): InteractionRule { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + + // @ts-ignore: this.constructor is not recognized as a constructor, but it is. + const clone: InteractionRule = new this.constructor( + { id: values.id ?? this.id }, + options + ); + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + if ("automaticApproval" in values && values.automaticApproval != null) { + if (values.automaticApproval instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = [values.automaticApproval]; + + } else { + throw new TypeError( + "The automaticApproval must be of type " + + "URL" + ".", + ); + } + } + + if ("automaticApprovals" in values && values.automaticApprovals != null) { + + if ("automaticApproval" in values && + values.automaticApproval != null) { + throw new TypeError( + "Cannot update both automaticApproval and " + + "automaticApprovals at the same time.", + ); + } + + if (Array.isArray(values.automaticApprovals) && + values.automaticApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = values.automaticApprovals; + + } else { + throw new TypeError( + "The automaticApprovals must be an array of type " + + "URL" + ".", + ); + } + } + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + if ("manualApproval" in values && values.manualApproval != null) { + if (values.manualApproval instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = [values.manualApproval]; + + } else { + throw new TypeError( + "The manualApproval must be of type " + + "URL" + ".", + ); + } + } + + if ("manualApprovals" in values && values.manualApprovals != null) { + + if ("manualApproval" in values && + values.manualApproval != null) { + throw new TypeError( + "Cannot update both manualApproval and " + + "manualApprovals at the same time.", + ); + } + + if (Array.isArray(values.manualApprovals) && + values.manualApprovals.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = values.manualApprovals; + + } else { + throw new TypeError( + "The manualApprovals must be an array of type " + + "URL" + ".", + ); + } + } + + return clone; + } + +/** URIs of actors or collections whose interactions are automatically + * approved without requiring manual review by the post author. + * + */ + get automaticApproval(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length < 1) return null; + return this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval[0]; + } + +/** URIs of actors or collections whose interactions are automatically + * approved without requiring manual review by the post author. + * + */ +get automaticApprovals(): (URL)[] { + return this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + } + +/** URIs of actors or collections whose interactions require manual approval + * by the post author. The post author can accept or reject these + * interactions at their discretion. + * + */ + get manualApproval(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length < 1) return null; + return this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval[0]; + } + +/** URIs of actors or collections whose interactions require manual approval + * by the post author. The post author can accept or reject these + * interactions at their discretion. + * + */ +get manualApprovals(): (URL)[] { + return this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + const values: Record = {}; + array = []; + for (const v of this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval) { + const element = ( + { "@id": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#automaticApproval"] = propValue; + + } + + array = []; + for (const v of this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval) { + const element = ( + { "@id": v.href } + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#manualApproval"] = propValue; + + } + + + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + "https://gotosocial.org/ns"; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + } + return compacted; + } + + protected isCompactable(): boolean { + + return true; + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__InteractionRule__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__InteractionRule__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#InteractionRule")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + const instance = new this( + { id: "@id" in values ? new URL(values["@id"] as string) : undefined }, + options, + ); + const _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval: (URL)[] = []; + + let _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array = values["https://gotosocial.org/ns#automaticApproval"]; + + for ( + const v of _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array == null + ? [] + : _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array.length === 1 && "@list" in _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array[0] + ? _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array[0]["@list"] + : _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval__array + ) { + if (v == null) continue; + _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.push(v["@id"].startsWith("at://") + ? new URL("at://" + + encodeURIComponent( + v["@id"].includes("/", 5) + ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) + : v["@id"].slice(5) + ) + + ( + v["@id"].includes("/", 5) + ? v["@id"].slice(v["@id"].indexOf("/", 5)) + : "" + ) + ) + : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) + ? new URL(v["@id"]) + : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + } + instance.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + const _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval: (URL)[] = []; + + let _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array = values["https://gotosocial.org/ns#manualApproval"]; + + for ( + const v of _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array == null + ? [] + : _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array.length === 1 && "@list" in _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array[0] + ? _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array[0]["@list"] + : _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval__array + ) { + if (v == null) continue; + _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.push(v["@id"].startsWith("at://") + ? new URL("at://" + + encodeURIComponent( + v["@id"].includes("/", 5) + ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) + : v["@id"].slice(5) + ) + + ( + v["@id"].includes("/", 5) + ? v["@id"].slice(v["@id"].indexOf("/", 5)) + : "" + ) + ) + : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) + ? new URL(v["@id"]) + : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + } + instance.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected _getCustomInspectProxy(): Record { + + const proxy: Record = {}; + if (this.id != null) { + proxy.id = { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(this.id!.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(this.id!.href, options), + }; + } + + const _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval = this.#_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length == 1) { + proxy.automaticApproval = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval[0]; + } + + if (_2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length > 1 + || !("automaticApproval" in proxy) + && _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval.length > 0) { + proxy.automaticApprovals = _2rFyCF14HoyNjitj9PmCzek5iSsg_automaticApproval; + } + + const _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval = this.#_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length == 1) { + proxy.manualApproval = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval[0]; + } + + if (_sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length > 1 + || !("manualApproval" in proxy) + && _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval.length > 0) { + proxy.manualApprovals = _sxj8y5XMMMBWUnRYFw85MKedCMj_manualApproval; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(InteractionRule.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: InteractionRule, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "InteractionRule " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(InteractionRule.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: InteractionRule, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "InteractionRule " + inspect(proxy, options); + }; + /** Proves that a {@link Like} interaction has been approved by the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that a like was authorized. The \`attributedTo\` property identifies + * the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class LikeAuthorization extends Object { + + /** + * The type URI of {@link LikeAuthorization}: \`https://gotosocial.org/ns#LikeApproval\`. + */ + static override get typeId(): URL { + return new URL("https://gotosocial.org/ns#LikeApproval"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of LikeAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if ("interactingObject" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + "The interactingObject must be of type " + + "Object | URL" + ".", + ); + } + } + + if ("interactionTarget" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + "The interactionTarget must be of type " + + "Object | URL" + ".", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): LikeAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as LikeAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if ("interactingObject" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + "The interactingObject must be of type " + + "Object | URL" + ".", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if ("interactionTarget" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + "The interactionTarget must be of type " + + "Object | URL" + ".", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://www.w3.org/ns/activitystreams#Object"].join(", ")); + } + + + /** + * Similar to + * {@link LikeAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the interaction (e.g., a {@link Like} activity) that + * has been authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "interactingObject" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "interactingObject"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://www.w3.org/ns/activitystreams#Object"].join(", ")); + } + + + /** + * Similar to + * {@link LikeAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized interaction. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "interactionTarget" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "interactionTarget"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["interactingObject"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["interactionTarget"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result["type"] = "LikeAuthorization"; + if (this.id != null) result["id"] = this.id.href; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: "expand", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { "@list": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#interactingObject"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#interactionTarget"] = propValue; + + } + + values["@type"] = ["https://gotosocial.org/ns#LikeApproval"]; + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if ("proof" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element["@context"] = docContext; + } + } else { + compacted.proof["@context"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__LikeAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__LikeAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#LikeApproval")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + delete values["@type"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof LikeAuthorization)) { + throw new TypeError("Unexpected type: " + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values["https://gotosocial.org/ns#interactingObject"]; + + for ( + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null + ? [] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && "@list" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0]["@list"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array + ) { + if (v == null) continue; + + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values["https://gotosocial.org/ns#interactionTarget"]; + + for ( + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null + ? [] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && "@list" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0]["@list"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array + ) { + if (v == null) continue; + + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) + } + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + } + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget + // deno-lint-ignore no-explicit-any + .map((v: any) => v instanceof URL + ? { + [Symbol.for("Deno.customInspect")]: ( + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string => "URL " + inspect(v.href, options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(v.href, options), + } + : v); + + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + } + + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(LikeAuthorization.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: LikeAuthorization, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "LikeAuthorization " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(LikeAuthorization.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: LikeAuthorization, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "LikeAuthorization " + inspect(proxy, options); + }; + /** A request to like a post that requires approval from the post author. + * + * The \`object\` property references the post to be liked, and + * the \`instrument\` property contains the {@link Like} activity itself. + * + * The post author responds with an {@link Accept} (with a + * {@link LikeAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class LikeRequest extends Activity { + + /** + * The type URI of {@link LikeRequest}: \`https://gotosocial.org/ns#LikeRequest\`. + */ + static override get typeId(): URL { + return new URL("https://gotosocial.org/ns#LikeRequest"); + } + + /** + * Constructs a new instance of LikeRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): LikeRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as LikeRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: "expand", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { "@list": unknown[] } | string + >; + + values["@type"] = ["https://gotosocial.org/ns#LikeRequest"]; + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if ("proof" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element["@context"] = docContext; + } + } else { + compacted.proof["@context"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__LikeRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__LikeRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#LikeRequest")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + delete values["@type"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof LikeRequest)) { + throw new TypeError("Unexpected type: " + instance.constructor.name); + } + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(LikeRequest.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: LikeRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "LikeRequest " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(LikeRequest.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: LikeRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "LikeRequest " + inspect(proxy, options); + }; + /** Proves that a reply interaction has been approved by the post author. + * + * This object is dereferenceable and is used by third parties to verify + * that a reply was authorized. The \`attributedTo\` property identifies + * the post author who granted the approval. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class ReplyAuthorization extends Object { + + /** + * The type URI of {@link ReplyAuthorization}: \`https://gotosocial.org/ns#ReplyAuthorization\`. + */ + static override get typeId(): URL { + return new URL("https://gotosocial.org/ns#ReplyAuthorization"); + } + + #_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + #_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + #_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + #_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + /** + * Constructs a new instance of ReplyAuthorization with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options); + if ("interactingObject" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + } else { + throw new TypeError( + "The interactingObject must be of type " + + "Object | URL" + ".", + ); + } + } + + if ("interactionTarget" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + } else { + throw new TypeError( + "The interactionTarget must be of type " + + "Object | URL" + ".", + ); + } + } + } + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): ReplyAuthorization { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as ReplyAuthorization;clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject;clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set(this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject); + if ("interactingObject" in values && values.interactingObject != null) { + if (values.interactingObject instanceof Object || values.interactingObject instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = [values.interactingObject]; + clone.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = new Set([0]); + } else { + throw new TypeError( + "The interactingObject must be of type " + + "Object | URL" + ".", + ); + } + } + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget;clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set(this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget); + if ("interactionTarget" in values && values.interactionTarget != null) { + if (values.interactionTarget instanceof Object || values.interactionTarget instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = [values.interactionTarget]; + clone.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = new Set([0]); + } else { + throw new TypeError( + "The interactionTarget must be of type " + + "Object | URL" + ".", + ); + } + } + + return clone; + } + + async #fetchInteractingObject( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactingObject_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactingObject_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://www.w3.org/ns/activitystreams#Object"].join(", ")); + } + + + /** + * Similar to + * {@link ReplyAuthorization.getInteractingObject}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactingObjectId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + const v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the reply object (e.g., a {@link Note}) that has been + * authorized. + * + */ + + async getInteractingObject( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length < 1) return null; + let v = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractingObject(v, options); + if (fetched == null) return null; + this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0] = fetched; + this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "interactingObject" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "interactingObject"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#interactingObject_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchInteractionTarget( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#interactionTarget_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #interactionTarget_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await Object.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://www.w3.org/ns/activitystreams#Object"].join(", ")); + } + + + /** + * Similar to + * {@link ReplyAuthorization.getInteractionTarget}, + * but returns its \`@id\` URL instead of the object itself. + */ + get interactionTargetId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + const v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** The URI of the post that is the target of the authorized reply. + * + */ + + async getInteractionTarget( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length < 1) return null; + let v = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchInteractionTarget(v, options); + if (fetched == null) return null; + this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0] = fetched; + this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "interactionTarget" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "interactionTarget"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#interactionTarget_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + if (options.format == null && this.isCompactable()) { + + const result = await super.toJsonLd({ + ...options, + format: undefined, + context: undefined, + }) as Record; + + // deno-lint-ignore no-unused-vars + let compactItems: unknown[]; + + compactItems = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["interactingObject"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + compactItems = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const item = ( + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["interactionTarget"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + + result["type"] = "ReplyAuthorization"; + if (this.id != null) result["id"] = this.id.href; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + return result; + } + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: "expand", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { "@list": unknown[] } | string + >; + + array = []; + for (const v of this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject) { + const element = ( + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#interactingObject"] = propValue; + + } + + array = []; + for (const v of this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget) { + const element = ( + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) + ); + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://gotosocial.org/ns#interactionTarget"] = propValue; + + } + + values["@type"] = ["https://gotosocial.org/ns#ReplyAuthorization"]; + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if ("proof" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element["@context"] = docContext; + } + } else { + compacted.proof["@context"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__ReplyAuthorization__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__ReplyAuthorization__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#ReplyAuthorization")) { throw new TypeError("Invalid type: " + values["@type"]); } } - const instance = new this( - { id: "@id" in values ? new URL(values["@id"] as string) : undefined }, - options, - ); - const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name: ((string | LanguageString))[] = []; - - let _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array = values["https://www.w3.org/ns/activitystreams#name"]; + delete values["@type"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof ReplyAuthorization)) { + throw new TypeError("Unexpected type: " + instance.constructor.name); + } + + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: (Object | URL)[] = []; + const _trust_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject: Set = new Set(); + + let _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array = values["https://gotosocial.org/ns#interactingObject"]; for ( - const v of _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array == null + const v of _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array == null ? [] - : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array.length === 1 && "@list" in _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0] - ? _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0]["@list"] - : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array.length === 1 && "@list" in _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0] + ? _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array[0]["@list"] + : _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject__array ) { if (v == null) continue; - const decoded = - typeof v === "object" && "@value" in v - && typeof v["@value"] === "string" && !("@language" in v) ? v["@value"] : typeof v === "object" && "@language" in v && "@value" in v - && typeof v["@language"] === "string" - && typeof v["@value"] === "string" ? new LanguageString(v["@value"], v["@language"]) : undefined - ; - if (typeof decoded === "undefined") continue; - _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.push(decoded); - + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) } - instance.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name; - const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value: ((string | LanguageString))[] = []; - - let _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array = values["http://schema.org#value"]; + instance.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject; + + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: (Object | URL)[] = []; + const _trust_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget: Set = new Set(); + + let _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array = values["https://gotosocial.org/ns#interactionTarget"]; for ( - const v of _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array == null + const v of _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array == null ? [] - : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array.length === 1 && "@list" in _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0] - ? _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array[0]["@list"] - : _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value__array + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array.length === 1 && "@list" in _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0] + ? _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array[0]["@list"] + : _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget__array ) { if (v == null) continue; - const decoded = - typeof v === "object" && "@value" in v - && typeof v["@value"] === "string" && !("@language" in v) ? v["@value"] : typeof v === "object" && "@language" in v && "@value" in v - && typeof v["@language"] === "string" - && typeof v["@value"] === "string" ? new LanguageString(v["@value"], v["@language"]) : undefined - ; - if (typeof decoded === "undefined") continue; - _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.push(decoded); - + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.push(await Object.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) } - instance.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value; + instance.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget; if (!("_fromSubclass" in options) || !options._fromSubclass) { try { @@ -16165,24 +21881,9 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} return instance; } - protected _getCustomInspectProxy(): Record { - - const proxy: Record = {}; - if (this.id != null) { - proxy.id = { - [Symbol.for("Deno.customInspect")]: ( - inspect: typeof Deno.inspect, - options: Deno.InspectOptions, - ): string => "URL " + inspect(this.id!.href, options), - [Symbol.for("nodejs.util.inspect.custom")]: ( - _depth: number, - options: unknown, - inspect: (value: unknown, options: unknown) => string, - ): string => "URL " + inspect(this.id!.href, options), - }; - } - - const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + const _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject = this.#_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject // deno-lint-ignore no-explicit-any .map((v: any) => v instanceof URL ? { @@ -16198,11 +21899,11 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } : v); - if (_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length == 1) { - proxy.name = _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name[0]; + if (_2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject.length == 1) { + proxy.interactingObject = _2114kRKbujWhxEUghdkRYYKbXTGi_interactingObject[0]; } - const _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value = this.#_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value + const _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget = this.#_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget // deno-lint-ignore no-explicit-any .map((v: any) => v instanceof URL ? { @@ -16218,8 +21919,8 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } : v); - if (_2cSy2magg4iZ7zLaG8U7DiJMoCkx_value.length == 1) { - proxy.value = _2cSy2magg4iZ7zLaG8U7DiJMoCkx_value[0]; + if (_2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget.length == 1) { + proxy.interactionTarget = _2wHyG75YnN15CDMaFk3VNjByu4aL_interactionTarget[0]; } return proxy; @@ -16228,26 +21929,368 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} // deno-lint-ignore no-explicit-any -(PropertyValue.prototype as any)[Symbol.for("Deno.customInspect")] = +(ReplyAuthorization.prototype as any)[Symbol.for("Deno.customInspect")] = function ( - this: PropertyValue, + this: ReplyAuthorization, inspect: typeof Deno.inspect, options: Deno.InspectOptions, ): string { const proxy = this._getCustomInspectProxy(); - return "PropertyValue " + inspect(proxy, options); + return "ReplyAuthorization " + inspect(proxy, options); }; // deno-lint-ignore no-explicit-any -(PropertyValue.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = +(ReplyAuthorization.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = function ( - this: PropertyValue, + this: ReplyAuthorization, _depth: number, options: unknown, inspect: (value: unknown, options: unknown) => string, ): string { const proxy = this._getCustomInspectProxy(); - return "PropertyValue " + inspect(proxy, options); + return "ReplyAuthorization " + inspect(proxy, options); + }; + /** A request to reply to a post that requires approval from the post author. + * + * The \`object\` property references the post to be replied to, and + * the \`instrument\` property contains the reply itself (e.g., a {@link Note}). + * + * The post author responds with an {@link Accept} (with a + * {@link ReplyAuthorization} as \`result\`) or a {@link Reject}. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ +export class ReplyRequest extends Activity { + + /** + * The type URI of {@link ReplyRequest}: \`https://gotosocial.org/ns#ReplyRequest\`. + */ + static override get typeId(): URL { + return new URL("https://gotosocial.org/ns#ReplyRequest"); + } + + /** + * Constructs a new instance of ReplyRequest with the given values. + * @param values The values to initialize the instance with. + * @param options The options to use for initialization. + */ + constructor( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} +, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + } = {}, + ) { + super(values, options);} + + /** + * Clones this instance, optionally updating it with the given values. + * @param values The values to update the clone with. + * @param options The options to use for cloning. + * @returns The cloned instance. + */ + override clone( + values: + { +id?: URL | null; +attachments?: (Object | Link | PropertyValue | URL)[];attribution?: Application | Group | Organization | Person | Service | URL | null; +attributions?: (Application | Group | Organization | Person | Service | URL)[];audience?: Object | URL | null; +audiences?: (Object | URL)[];content?: string | LanguageString | null; +contents?: ((string | LanguageString))[];contexts?: (Object | Link | URL)[];name?: string | LanguageString | null; +names?: ((string | LanguageString))[];endTime?: Temporal.Instant | null;generators?: (Object | Link | URL)[];icon?: Image | URL | null; +icons?: (Image | URL)[];image?: Image | URL | null; +images?: (Image | URL)[];replyTarget?: Object | Link | URL | null; +replyTargets?: (Object | Link | URL)[];location?: Object | Link | URL | null; +locations?: (Object | Link | URL)[];preview?: Link | Object | URL | null; +previews?: (Link | Object | URL)[];published?: Temporal.Instant | null;replies?: Collection | URL | null;shares?: Collection | URL | null;likes?: Collection | URL | null;emojiReactions?: Collection | URL | null;startTime?: Temporal.Instant | null;summary?: string | LanguageString | null; +summaries?: ((string | LanguageString))[];tags?: (Object | Link | URL)[];updated?: Temporal.Instant | null;url?: URL | Link | null; +urls?: ((URL | Link))[];to?: Object | URL | null; +tos?: (Object | URL)[];bto?: Object | URL | null; +btos?: (Object | URL)[];cc?: Object | URL | null; +ccs?: (Object | URL)[];bcc?: Object | URL | null; +bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; +objects?: (Object | URL)[];target?: Object | URL | null; +targets?: (Object | URL)[];result?: Object | URL | null; +results?: (Object | URL)[];origin?: Object | URL | null; +origins?: (Object | URL)[];instrument?: Object | URL | null; +instruments?: (Object | URL)[];} + + = {}, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + } = {} + ): ReplyRequest { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + // @ts-ignore: $warning is not recognized as a property, but it is. + options = { ...options, $warning: this._warning }; + } + const clone = super.clone(values, options) as unknown as ReplyRequest; + return clone; + } + + /** + * Converts this object to a JSON-LD structure. + * @param options The options to use. + * - \`format\`: The format of the output: \`compact\` or + \`expand\`. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`context\`: The JSON-LD context to use. Not applicable + when \`format\` is set to \`'expand'\`. + * @returns The JSON-LD representation of this object. + */ + override async toJsonLd(options: { + format?: "compact" | "expand", + contextLoader?: DocumentLoader, + context?: string | Record | (string | Record)[], + } = {}): Promise { + if (options.format == null && this._cachedJsonLd != null) { + return this._cachedJsonLd; + } + if (options.format !== "compact" && options.context != null) { + throw new TypeError( + "The context option can only be used when the format option is set " + + "to 'compact'." + ); + } + options = { + ...options, + contextLoader: options.contextLoader ?? getDocumentLoader(), + }; + + // deno-lint-ignore no-unused-vars prefer-const + let array: unknown[]; + + const baseValues = await super.toJsonLd({ + ...options, + format: "expand", + context: undefined, + }) as unknown[]; + const values = baseValues[0] as Record< + string, + unknown[] | { "@list": unknown[] } | string + >; + + values["@type"] = ["https://gotosocial.org/ns#ReplyRequest"]; + if (this.id != null) values["@id"] = this.id.href; + if (options.format === "expand") { + return await jsonld.expand( + values, + { documentLoader: options.contextLoader }, + ); + } + const docContext = options.context ?? + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + const compacted = await jsonld.compact( + values, + docContext, + { documentLoader: options.contextLoader }, + ); + if (docContext != null) { + // Embed context + + if ("proof" in compacted && + compacted.proof != null) { + if (Array.isArray(compacted.proof)) { + for (const element of compacted.proof) { + element["@context"] = docContext; + } + } else { + compacted.proof["@context"] = docContext; + } + } + + } + return compacted; + } + + protected override isCompactable(): boolean { + + return super.isCompactable(); + } + + /** + * Converts a JSON-LD structure to an object of this type. + * @param json The JSON-LD structure to convert. + * @param options The options to use. + * - \`documentLoader\`: The loader for remote JSON-LD documents. + * - \`contextLoader\`: The loader for remote JSON-LD contexts. + * - \`tracerProvider\`: The OpenTelemetry tracer provider to use. + * If omitted, the global tracer provider is used. + * @returns The object of this type. + * @throws {TypeError} If the given \`json\` is invalid. + */ + static override async fromJsonLd( + json: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + const tracerProvider = options.tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan( + "activitypub.parse_object", + async (span) => { + try { + const object = await this.__fromJsonLd__ReplyRequest__( + json, span, options); + if (object.id != null) { + span.setAttribute("activitypub.object.id", object.id.href); + } + return object; + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + throw error; + } finally { + span.end(); + } + }, + ); + } + + protected static async __fromJsonLd__ReplyRequest__( + json: unknown, + span: Span, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL, + } = {}, + ): Promise { + if (typeof json === "undefined") { + throw new TypeError("Invalid JSON-LD: undefined."); + } + else if (json === null) throw new TypeError("Invalid JSON-LD: null."); + options = { + ...options, + documentLoader: options.documentLoader ?? getDocumentLoader(), + contextLoader: options.contextLoader ?? getDocumentLoader(), + tracerProvider: options.tracerProvider ?? trace.getTracerProvider(), + }; + // deno-lint-ignore no-explicit-any + let values: Record & { "@id"?: string }; + if (globalThis.Object.keys(json).length == 0) { + values = {}; + } else { + const expanded = await jsonld.expand(json, { + documentLoader: options.contextLoader, + keepFreeFloatingNodes: true, + }); + values = + // deno-lint-ignore no-explicit-any + (expanded[0] ?? {}) as (Record & { "@id"?: string }); + } + if (options.baseUrl == null && values["@id"] != null) { + options = { ...options, baseUrl: new URL(values["@id"]) }; + } + + if ("@type" in values) { + span.setAttribute("activitypub.object.type", values["@type"]); + } + if ("@type" in values && + !values["@type"].every(t => t.startsWith("_:"))) { + + if (!values["@type"].includes("https://gotosocial.org/ns#ReplyRequest")) { + throw new TypeError("Invalid type: " + values["@type"]); + } + } + + delete values["@type"]; + const instance = await super.fromJsonLd(values, { + ...options, + // @ts-ignore: an internal option + _fromSubclass: true, + }); + if (!(instance instanceof ReplyRequest)) { + throw new TypeError("Unexpected type: " + instance.constructor.name); + } + + if (!("_fromSubclass" in options) || !options._fromSubclass) { + try { + instance._cachedJsonLd = structuredClone(json); + } catch { + getLogger(["fedify", "vocab"]).warn( + "Failed to cache JSON-LD: {json}", + { json }, + ); + } + } + return instance; + } + + protected override _getCustomInspectProxy(): Record { + const proxy: Record = super._getCustomInspectProxy(); + return proxy; + } + } + + +// deno-lint-ignore no-explicit-any +(ReplyRequest.prototype as any)[Symbol.for("Deno.customInspect")] = + function ( + this: ReplyRequest, + inspect: typeof Deno.inspect, + options: Deno.InspectOptions, + ): string { + const proxy = this._getCustomInspectProxy(); + return "ReplyRequest " + inspect(proxy, options); + }; + +// deno-lint-ignore no-explicit-any +(ReplyRequest.prototype as any)[Symbol.for("nodejs.util.inspect.custom")] = + function ( + this: ReplyRequest, + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string { + const proxy = this._getCustomInspectProxy(); + return "ReplyRequest " + inspect(proxy, options); }; /** Means of communicating or interacting with the DID subject or associated * entities via one or more service endpoints. Examples include discovery @@ -19844,7 +25887,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19886,7 +25929,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19963,7 +26006,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -20184,7 +26227,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20226,7 +26269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20303,7 +26346,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -20519,7 +26562,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20561,7 +26604,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20638,7 +26681,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -20899,7 +26942,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -21363,7 +27406,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -25782,7 +31825,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result["type"] = "Application"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; return result; } @@ -26141,7 +32184,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; const compacted = await jsonld.compact( values, docContext, @@ -27444,7 +33487,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27486,7 +33529,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27563,7 +33606,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -27791,7 +33834,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27833,7 +33876,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -27910,7 +33953,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -28124,7 +34167,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -28173,7 +34216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -28297,7 +34340,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result["type"] = "Article"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -28342,7 +34385,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -28600,7 +34643,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -28662,7 +34705,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -28812,7 +34855,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result["type"] = "Document"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -28874,7 +34917,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -29173,7 +35216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -29209,7 +35252,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -29271,7 +35314,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result["type"] = "Audio"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -29297,7 +35340,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -29512,7 +35555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29554,7 +35597,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29631,7 +35674,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -29852,7 +35895,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29894,7 +35937,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29971,7 +36014,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -30226,7 +36269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -30437,7 +36480,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} = {}, options: { @@ -33546,7 +39589,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result["type"] = "Collection"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -33770,7 +39813,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -34048,7 +40091,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -34657,7 +40700,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34732,7 +40775,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} = {}, options: { @@ -35538,7 +41581,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result["type"] = "CollectionPage"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -35609,7 +41652,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -35976,7 +42019,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36018,7 +42061,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36095,7 +42138,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -36310,7 +42353,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36352,7 +42395,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36429,7 +42472,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri"}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","ChatMessage":"http://litepub.social/ns#ChatMessage","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri"}]; const compacted = await jsonld.compact( values, docContext, @@ -36642,7 +42685,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36684,7 +42727,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36761,7 +42804,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji"}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji"}]; const compacted = await jsonld.compact( values, docContext, @@ -38078,7 +44121,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -38114,7 +44157,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} = {}, options: { @@ -38176,7 +44219,7 @@ proofs?: (DataIntegrityProof | URL)[];} result["type"] = "Event"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -38202,7 +44245,7 @@ proofs?: (DataIntegrityProof | URL)[];} ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -38418,7 +44461,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38460,7 +44503,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38537,7 +44580,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -38754,7 +44797,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38796,7 +44839,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -38873,7 +44916,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -39134,7 +45177,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -39598,7 +45641,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -44017,7 +50060,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result["type"] = "Group"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; return result; } @@ -44376,7 +50419,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; const compacted = await jsonld.compact( values, docContext, @@ -47062,7 +53105,7 @@ get names(): ((string | LanguageString))[] { v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } ) : typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -47642,7 +53685,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -47678,7 +53721,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -47740,7 +53783,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result["type"] = "Image"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = "https://www.w3.org/ns/activitystreams"; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -47766,7 +53809,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - "https://www.w3.org/ns/activitystreams"; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -47982,7 +54025,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48024,7 +54067,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48101,7 +54144,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -48320,7 +54363,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48362,7 +54405,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48439,7 +54482,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -48654,7 +54697,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48696,7 +54739,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -48773,7 +54816,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -48988,7 +55031,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49030,7 +55073,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49107,7 +55150,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -49322,7 +55365,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49364,7 +55407,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49441,7 +55484,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji"}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji"}]; const compacted = await jsonld.compact( values, docContext, @@ -49654,7 +55697,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49696,7 +55739,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -49773,7 +55816,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -50287,7 +56330,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -50329,7 +56372,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -50406,7 +56449,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -50622,7 +56665,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -50671,7 +56714,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -50795,7 +56838,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} result["type"] = "Note"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -50840,7 +56883,7 @@ proofs?: (DataIntegrityProof | URL)[];quoteUrl?: URL | null;} ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -51101,7 +57144,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} , options: { documentLoader?: DocumentLoader, @@ -51156,7 +57199,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} = {}, options: { @@ -51486,7 +57529,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result["type"] = "OrderedCollection"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -51527,7 +57570,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -51688,7 +57731,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -51812,7 +57855,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -51880,7 +57923,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} = {}, options: { @@ -52254,7 +58297,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle result["type"] = "OrderedCollectionPage"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; return result; } @@ -52313,7 +58356,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","ChatMessage":"http://litepub.social/ns#ChatMessage","sensitive":"as:sensitive","votersCount":"toot:votersCount","Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -52474,7 +58517,7 @@ proofs?: (DataIntegrityProof | URL)[];totalItems?: number | null;current?: Colle const decoded = typeof v === "object" && "@type" in v - && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( + && Array.isArray(v["@type"])&& ["https://www.w3.org/ns/activitystreams#Object","http://joinmastodon.org/ns#Emoji","http://litepub.social/ns#ChatMessage","https://gotosocial.org/ns#AnnounceAuthorization","https://gotosocial.org/ns#LikeApproval","https://gotosocial.org/ns#ReplyAuthorization","https://www.w3.org/ns/activitystreams#Activity","http://litepub.social/ns#EmojiReact","https://gotosocial.org/ns#AnnounceRequest","https://gotosocial.org/ns#LikeRequest","https://gotosocial.org/ns#ReplyRequest","https://www.w3.org/ns/activitystreams#Accept","https://www.w3.org/ns/activitystreams#TentativeAccept","https://www.w3.org/ns/activitystreams#Add","https://www.w3.org/ns/activitystreams#Announce","https://www.w3.org/ns/activitystreams#Create","https://www.w3.org/ns/activitystreams#Delete","https://www.w3.org/ns/activitystreams#Dislike","https://www.w3.org/ns/activitystreams#Flag","https://www.w3.org/ns/activitystreams#Follow","https://www.w3.org/ns/activitystreams#Ignore","https://www.w3.org/ns/activitystreams#Block","https://www.w3.org/ns/activitystreams#IntransitiveActivity","https://www.w3.org/ns/activitystreams#Arrive","https://www.w3.org/ns/activitystreams#Question","https://www.w3.org/ns/activitystreams#Travel","https://www.w3.org/ns/activitystreams#Join","https://www.w3.org/ns/activitystreams#Leave","https://www.w3.org/ns/activitystreams#Like","https://www.w3.org/ns/activitystreams#Listen","https://www.w3.org/ns/activitystreams#Move","https://www.w3.org/ns/activitystreams#Offer","https://www.w3.org/ns/activitystreams#Invite","https://www.w3.org/ns/activitystreams#Read","https://www.w3.org/ns/activitystreams#Reject","https://www.w3.org/ns/activitystreams#TentativeReject","https://www.w3.org/ns/activitystreams#Remove","https://www.w3.org/ns/activitystreams#Undo","https://www.w3.org/ns/activitystreams#Update","https://www.w3.org/ns/activitystreams#View","https://www.w3.org/ns/activitystreams#Application","https://www.w3.org/ns/activitystreams#Article","https://www.w3.org/ns/activitystreams#Collection","https://www.w3.org/ns/activitystreams#CollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollectionPage","https://www.w3.org/ns/activitystreams#OrderedCollection","https://www.w3.org/ns/activitystreams#Document","https://www.w3.org/ns/activitystreams#Audio","https://www.w3.org/ns/activitystreams#Image","https://www.w3.org/ns/activitystreams#Page","https://www.w3.org/ns/activitystreams#Video","https://www.w3.org/ns/activitystreams#Event","https://www.w3.org/ns/activitystreams#Group","https://www.w3.org/ns/activitystreams#Note","https://www.w3.org/ns/activitystreams#Organization","https://www.w3.org/ns/activitystreams#Person","https://www.w3.org/ns/activitystreams#Place","https://www.w3.org/ns/activitystreams#Profile","https://www.w3.org/ns/activitystreams#Relationship","https://www.w3.org/ns/activitystreams#Service","https://www.w3.org/ns/activitystreams#Tombstone"].some( t => v["@type"].includes(t)) ? await Object.fromJsonLd( v, { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } @@ -52674,7 +58717,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -53138,7 +59181,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -57557,7 +63600,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result["type"] = "Organization"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; return result; } @@ -57916,7 +63959,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; const compacted = await jsonld.compact( values, docContext, @@ -59216,7 +65259,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -59252,7 +65295,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -59314,7 +65357,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result["type"] = "Page"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -59340,7 +65383,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -59601,7 +65644,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -60065,7 +66108,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -64484,7 +70527,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result["type"] = "Person"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; return result; } @@ -64843,7 +70886,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; const compacted = await jsonld.compact( values, docContext, @@ -66152,7 +72195,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -66266,7 +72309,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} = {}, options: { @@ -66592,7 +72635,7 @@ proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number result["type"] = "Place"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -66723,7 +72766,7 @@ proofs?: (DataIntegrityProof | URL)[];accuracy?: number | null;altitude?: number ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -67178,7 +73221,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -67227,7 +73270,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} = {}, options: { @@ -67538,7 +73581,7 @@ proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} result["type"] = "Profile"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -67579,7 +73622,7 @@ proofs?: (DataIntegrityProof | URL)[];describes?: Object | URL | null;} ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -67859,7 +73902,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -67978,7 +74021,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -68710,7 +74753,7 @@ instruments?: (Object | URL)[];exclusiveOptions?: (Object | URL)[];inclusiveOpti ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"toot":"http://joinmastodon.org/ns#","misskey":"https://misskey-hub.net/ns#","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -69157,7 +75200,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69199,7 +75242,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69276,7 +75319,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -69491,7 +75534,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69533,7 +75576,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -69610,7 +75653,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -69843,7 +75886,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -69974,7 +76017,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -71035,7 +77078,7 @@ relationships?: (Object | URL)[];} result["type"] = "Relationship"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -71106,7 +77149,7 @@ relationships?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -71483,7 +77526,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -71525,7 +77568,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -71602,7 +77645,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -71863,7 +77906,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -72327,7 +78370,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -76746,7 +82789,7 @@ get preferredUsernames(): ((string | LanguageString))[] { result["type"] = "Service"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; return result; } @@ -77105,7 +83148,7 @@ get preferredUsernames(): ((string | LanguageString))[] { ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","movedTo":{"@id":"as:movedTo","@type":"@id"},"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat"}]; const compacted = await jsonld.compact( values, docContext, @@ -79048,7 +85091,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79090,7 +85133,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79167,7 +85210,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -79382,7 +85425,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79424,7 +85467,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79501,7 +85544,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -79718,7 +85761,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} , options: { documentLoader?: DocumentLoader, @@ -79767,7 +85810,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} = {}, options: { @@ -79873,7 +85916,7 @@ proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} result["type"] = "Tombstone"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -79917,7 +85960,7 @@ proofs?: (DataIntegrityProof | URL)[];deleted?: Temporal.Instant | null;} ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -80173,7 +86216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80215,7 +86258,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80292,7 +86335,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -80512,7 +86555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80554,7 +86597,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80631,7 +86674,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"litepub":"http://litepub.social/ns#","toot":"http://joinmastodon.org/ns#","EmojiReact":"litepub:EmojiReact","Emoji":"toot:Emoji"}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"litepub":"http://litepub.social/ns#","toot":"http://joinmastodon.org/ns#","EmojiReact":"litepub:EmojiReact","Emoji":"toot:Emoji"}]; const compacted = await jsonld.compact( values, docContext, @@ -80849,7 +86892,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80891,7 +86934,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80968,7 +87011,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","sensitive":"as:sensitive","movedTo":{"@id":"as:movedTo","@type":"@id"},"quoteUrl":"as:quoteUrl","toot":"http://joinmastodon.org/ns#","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","ChatMessage":"http://litepub.social/ns#ChatMessage","fedibird":"http://fedibird.com/ns#","quoteUri":"fedibird:quoteUri","misskey":"https://misskey-hub.net/ns#","_misskey_quote":"misskey:_misskey_quote","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://w3id.org/security/data-integrity/v1","https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1","https://gotosocial.org/ns",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","sensitive":"as:sensitive","movedTo":{"@id":"as:movedTo","@type":"@id"},"quoteUrl":"as:quoteUrl","toot":"http://joinmastodon.org/ns#","featured":{"@id":"toot:featured","@type":"@id"},"featuredTags":{"@id":"toot:featuredTags","@type":"@id"},"discoverable":"toot:discoverable","suspended":"toot:suspended","memorial":"toot:memorial","indexable":"toot:indexable","votersCount":{"@id":"toot:votersCount","@type":"http://www.w3.org/2001/XMLSchema#nonNegativeInteger"},"Emoji":"toot:Emoji","Hashtag":"as:Hashtag","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","ChatMessage":"http://litepub.social/ns#ChatMessage","fedibird":"http://fedibird.com/ns#","quoteUri":"fedibird:quoteUri","misskey":"https://misskey-hub.net/ns#","_misskey_quote":"misskey:_misskey_quote","_misskey_followedMessage":"misskey:_misskey_followedMessage","isCat":"misskey:isCat","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; const compacted = await jsonld.compact( values, docContext, @@ -81181,7 +87224,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -81217,7 +87260,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -81279,7 +87322,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu result["type"] = "Video"; if (this.id != null) result["id"] = this.id.href; - result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; return result; } @@ -81305,7 +87348,7 @@ proofs?: (DataIntegrityProof | URL)[];width?: number | null;height?: number | nu ); } const docContext = options.context ?? - ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, @@ -81519,7 +87562,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -81561,7 +87604,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -81638,7 +87681,7 @@ instruments?: (Object | URL)[];} ); } const docContext = options.context ?? - ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1"]; + ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; const compacted = await jsonld.compact( values, docContext, diff --git a/packages/vocab/src/__snapshots__/vocab.test.ts.snap b/packages/vocab/src/__snapshots__/vocab.test.ts.snap index 58b288b60..c9644d1e2 100644 --- a/packages/vocab/src/__snapshots__/vocab.test.ts.snap +++ b/packages/vocab/src/__snapshots__/vocab.test.ts.snap @@ -34,12 +34,766 @@ snapshot[`Deno.inspect(Emoji) [auto] 1`] = ` duration: PT1H, sensitive: true, source: Source {}, - proof: DataIntegrityProof {} + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(Emoji) [auto] 2`] = ` +'Emoji { + id: URL "https://example.com/", + attachments: [ URL "https://example.com/" ], + attribution: URL "https://example.com/", + audience: URL "https://example.com/", + contents: [ "hello", "hello" ], + contexts: [ URL "https://example.com/" ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ URL "https://example.com/" ], + icon: URL "https://example.com/", + image: URL "https://example.com/", + replyTarget: URL "https://example.com/", + location: URL "https://example.com/", + preview: URL "https://example.com/", + published: 2024-03-03T08:30:06.796196096Z, + replies: URL "https://example.com/", + shares: URL "https://example.com/", + likes: URL "https://example.com/", + emojiReactions: URL "https://example.com/", + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ URL "https://example.com/" ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: URL "https://example.com/", + bto: URL "https://example.com/", + cc: URL "https://example.com/", + bcc: URL "https://example.com/", + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(Emoji) [auto] 3`] = ` +'Emoji { + id: URL "https://example.com/", + attachments: [ Object {}, Object {} ], + attributions: [ Application {}, Application {} ], + audiences: [ Object {}, Object {} ], + contents: [ "hello", "hello" ], + contexts: [ Object {}, Object {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Object {} ], + icons: [ Image {}, Image {} ], + images: [ Image {}, Image {} ], + replyTargets: [ Object {}, Object {} ], + locations: [ Object {}, Object {} ], + previews: [ Link {}, Link {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Object {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", URL "https://example.com/" ], + tos: [ Object {}, Object {} ], + btos: [ Object {}, Object {} ], + ccs: [ Object {}, Object {} ], + bccs: [ Object {}, Object {} ], + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(ChatMessage) [auto] 1`] = ` +'ChatMessage { + id: URL "https://example.com/", + attachments: [ Object {}, Link {}, PropertyValue {} ], + attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + audience: Object {}, + contents: [ "hello", "hello" ], + contexts: [ Object {}, Link {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Link {} ], + icon: Image {}, + image: Image {}, + replyTargets: [ Object {}, Link {} ], + locations: [ Object {}, Link {} ], + previews: [ Link {}, Object {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Link {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: Object {}, + bto: Object {}, + cc: Object {}, + bcc: Object {}, + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + quoteUrl: URL "https://fedify.dev/" +}' +`; + +snapshot[`Deno.inspect(ChatMessage) [auto] 2`] = ` +'ChatMessage { + id: URL "https://example.com/", + attachments: [ URL "https://example.com/" ], + attribution: URL "https://example.com/", + audience: URL "https://example.com/", + contents: [ "hello", "hello" ], + contexts: [ URL "https://example.com/" ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ URL "https://example.com/" ], + icon: URL "https://example.com/", + image: URL "https://example.com/", + replyTarget: URL "https://example.com/", + location: URL "https://example.com/", + preview: URL "https://example.com/", + published: 2024-03-03T08:30:06.796196096Z, + replies: URL "https://example.com/", + shares: URL "https://example.com/", + likes: URL "https://example.com/", + emojiReactions: URL "https://example.com/", + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ URL "https://example.com/" ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: URL "https://example.com/", + bto: URL "https://example.com/", + cc: URL "https://example.com/", + bcc: URL "https://example.com/", + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + quoteUrl: URL "https://fedify.dev/" +}' +`; + +snapshot[`Deno.inspect(ChatMessage) [auto] 3`] = ` +'ChatMessage { + id: URL "https://example.com/", + attachments: [ Object {}, Object {} ], + attributions: [ Application {}, Application {} ], + audiences: [ Object {}, Object {} ], + contents: [ "hello", "hello" ], + contexts: [ Object {}, Object {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Object {} ], + icons: [ Image {}, Image {} ], + images: [ Image {}, Image {} ], + replyTargets: [ Object {}, Object {} ], + locations: [ Object {}, Object {} ], + previews: [ Link {}, Link {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Object {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", URL "https://example.com/" ], + tos: [ Object {}, Object {} ], + btos: [ Object {}, Object {} ], + ccs: [ Object {}, Object {} ], + bccs: [ Object {}, Object {} ], + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + quoteUrl: URL "https://fedify.dev/" +}' +`; + +snapshot[`Deno.inspect(EmojiReact) [auto] 1`] = ` +'EmojiReact { + id: URL "https://example.com/", + attachments: [ Object {}, Link {}, PropertyValue {} ], + attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + audience: Object {}, + contents: [ "hello", "hello" ], + contexts: [ Object {}, Link {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Link {} ], + icon: Image {}, + image: Image {}, + replyTargets: [ Object {}, Link {} ], + locations: [ Object {}, Link {} ], + previews: [ Link {}, Object {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Link {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: Object {}, + bto: Object {}, + cc: Object {}, + bcc: Object {}, + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + object: Object {}, + target: Object {}, + result: Object {}, + origin: Object {}, + instrument: Object {} +}' +`; + +snapshot[`Deno.inspect(EmojiReact) [auto] 2`] = ` +'EmojiReact { + id: URL "https://example.com/", + attachments: [ URL "https://example.com/" ], + attribution: URL "https://example.com/", + audience: URL "https://example.com/", + contents: [ "hello", "hello" ], + contexts: [ URL "https://example.com/" ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ URL "https://example.com/" ], + icon: URL "https://example.com/", + image: URL "https://example.com/", + replyTarget: URL "https://example.com/", + location: URL "https://example.com/", + preview: URL "https://example.com/", + published: 2024-03-03T08:30:06.796196096Z, + replies: URL "https://example.com/", + shares: URL "https://example.com/", + likes: URL "https://example.com/", + emojiReactions: URL "https://example.com/", + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ URL "https://example.com/" ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: URL "https://example.com/", + bto: URL "https://example.com/", + cc: URL "https://example.com/", + bcc: URL "https://example.com/", + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actor: URL "https://example.com/", + object: URL "https://example.com/", + target: URL "https://example.com/", + result: URL "https://example.com/", + origin: URL "https://example.com/", + instrument: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(EmojiReact) [auto] 3`] = ` +'EmojiReact { + id: URL "https://example.com/", + attachments: [ Object {}, Object {} ], + attributions: [ Application {}, Application {} ], + audiences: [ Object {}, Object {} ], + contents: [ "hello", "hello" ], + contexts: [ Object {}, Object {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Object {} ], + icons: [ Image {}, Image {} ], + images: [ Image {}, Image {} ], + replyTargets: [ Object {}, Object {} ], + locations: [ Object {}, Object {} ], + previews: [ Link {}, Link {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Object {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", URL "https://example.com/" ], + tos: [ Object {}, Object {} ], + btos: [ Object {}, Object {} ], + ccs: [ Object {}, Object {} ], + bccs: [ Object {}, Object {} ], + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actors: [ Application {}, Application {} ], + objects: [ Object {}, Object {} ], + targets: [ Object {}, Object {} ], + results: [ Object {}, Object {} ], + origins: [ Object {}, Object {} ], + instruments: [ Object {}, Object {} ] +}' +`; + +snapshot[`Deno.inspect(PropertyValue) [auto] 1`] = `'PropertyValue { id: URL "https://example.com/", name: "hello", value: "hello" }'`; + +snapshot[`Deno.inspect(PropertyValue) [auto] 2`] = `'PropertyValue { id: URL "https://example.com/", name: "hello", value: "hello" }'`; + +snapshot[`Deno.inspect(PropertyValue) [auto] 3`] = `'PropertyValue { id: URL "https://example.com/", name: "hello", value: "hello" }'`; + +snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 1`] = ` +'AnnounceAuthorization { + id: URL "https://example.com/", + attachments: [ Object {}, Link {}, PropertyValue {} ], + attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + audience: Object {}, + contents: [ "hello", "hello" ], + contexts: [ Object {}, Link {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Link {} ], + icon: Image {}, + image: Image {}, + replyTargets: [ Object {}, Link {} ], + locations: [ Object {}, Link {} ], + previews: [ Link {}, Object {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Link {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: Object {}, + bto: Object {}, + cc: Object {}, + bcc: Object {}, + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: Object {}, + interactionTarget: Object {} +}' +`; + +snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 2`] = ` +'AnnounceAuthorization { + id: URL "https://example.com/", + attachments: [ URL "https://example.com/" ], + attribution: URL "https://example.com/", + audience: URL "https://example.com/", + contents: [ "hello", "hello" ], + contexts: [ URL "https://example.com/" ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ URL "https://example.com/" ], + icon: URL "https://example.com/", + image: URL "https://example.com/", + replyTarget: URL "https://example.com/", + location: URL "https://example.com/", + preview: URL "https://example.com/", + published: 2024-03-03T08:30:06.796196096Z, + replies: URL "https://example.com/", + shares: URL "https://example.com/", + likes: URL "https://example.com/", + emojiReactions: URL "https://example.com/", + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ URL "https://example.com/" ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: URL "https://example.com/", + bto: URL "https://example.com/", + cc: URL "https://example.com/", + bcc: URL "https://example.com/", + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: URL "https://example.com/", + interactionTarget: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 3`] = ` +'AnnounceAuthorization { + id: URL "https://example.com/", + attachments: [ Object {}, Object {} ], + attributions: [ Application {}, Application {} ], + audiences: [ Object {}, Object {} ], + contents: [ "hello", "hello" ], + contexts: [ Object {}, Object {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Object {} ], + icons: [ Image {}, Image {} ], + images: [ Image {}, Image {} ], + replyTargets: [ Object {}, Object {} ], + locations: [ Object {}, Object {} ], + previews: [ Link {}, Link {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Object {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", URL "https://example.com/" ], + tos: [ Object {}, Object {} ], + btos: [ Object {}, Object {} ], + ccs: [ Object {}, Object {} ], + bccs: [ Object {}, Object {} ], + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: Object {}, + interactionTarget: Object {} +}' +`; + +snapshot[`Deno.inspect(AnnounceRequest) [auto] 1`] = ` +'AnnounceRequest { + id: URL "https://example.com/", + attachments: [ Object {}, Link {}, PropertyValue {} ], + attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + audience: Object {}, + contents: [ "hello", "hello" ], + contexts: [ Object {}, Link {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Link {} ], + icon: Image {}, + image: Image {}, + replyTargets: [ Object {}, Link {} ], + locations: [ Object {}, Link {} ], + previews: [ Link {}, Object {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Link {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: Object {}, + bto: Object {}, + cc: Object {}, + bcc: Object {}, + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + object: Object {}, + target: Object {}, + result: Object {}, + origin: Object {}, + instrument: Object {} +}' +`; + +snapshot[`Deno.inspect(AnnounceRequest) [auto] 2`] = ` +'AnnounceRequest { + id: URL "https://example.com/", + attachments: [ URL "https://example.com/" ], + attribution: URL "https://example.com/", + audience: URL "https://example.com/", + contents: [ "hello", "hello" ], + contexts: [ URL "https://example.com/" ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ URL "https://example.com/" ], + icon: URL "https://example.com/", + image: URL "https://example.com/", + replyTarget: URL "https://example.com/", + location: URL "https://example.com/", + preview: URL "https://example.com/", + published: 2024-03-03T08:30:06.796196096Z, + replies: URL "https://example.com/", + shares: URL "https://example.com/", + likes: URL "https://example.com/", + emojiReactions: URL "https://example.com/", + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ URL "https://example.com/" ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: URL "https://example.com/", + bto: URL "https://example.com/", + cc: URL "https://example.com/", + bcc: URL "https://example.com/", + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actor: URL "https://example.com/", + object: URL "https://example.com/", + target: URL "https://example.com/", + result: URL "https://example.com/", + origin: URL "https://example.com/", + instrument: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(AnnounceRequest) [auto] 3`] = ` +'AnnounceRequest { + id: URL "https://example.com/", + attachments: [ Object {}, Object {} ], + attributions: [ Application {}, Application {} ], + audiences: [ Object {}, Object {} ], + contents: [ "hello", "hello" ], + contexts: [ Object {}, Object {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Object {} ], + icons: [ Image {}, Image {} ], + images: [ Image {}, Image {} ], + replyTargets: [ Object {}, Object {} ], + locations: [ Object {}, Object {} ], + previews: [ Link {}, Link {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Object {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", URL "https://example.com/" ], + tos: [ Object {}, Object {} ], + btos: [ Object {}, Object {} ], + ccs: [ Object {}, Object {} ], + bccs: [ Object {}, Object {} ], + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actors: [ Application {}, Application {} ], + objects: [ Object {}, Object {} ], + targets: [ Object {}, Object {} ], + results: [ Object {}, Object {} ], + origins: [ Object {}, Object {} ], + instruments: [ Object {}, Object {} ] }' `; -snapshot[`Deno.inspect(Emoji) [auto] 2`] = ` -'Emoji { +snapshot[`Deno.inspect(InteractionPolicy) [auto] 1`] = ` +'InteractionPolicy { + id: URL "https://example.com/", + canLike: InteractionRule {}, + canReply: InteractionRule {}, + canAnnounce: InteractionRule {} +}' +`; + +snapshot[`Deno.inspect(InteractionPolicy) [auto] 2`] = ` +'InteractionPolicy { + id: URL "https://example.com/", + canLike: InteractionRule {}, + canReply: InteractionRule {}, + canAnnounce: InteractionRule {} +}' +`; + +snapshot[`Deno.inspect(InteractionPolicy) [auto] 3`] = ` +'InteractionPolicy { + id: URL "https://example.com/", + canLike: InteractionRule {}, + canReply: InteractionRule {}, + canAnnounce: InteractionRule {} +}' +`; + +snapshot[`Deno.inspect(InteractionRule) [auto] 1`] = ` +'InteractionRule { + id: URL "https://example.com/", + automaticApproval: URL "https://example.com/", + manualApproval: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(InteractionRule) [auto] 2`] = ` +'InteractionRule { + id: URL "https://example.com/", + automaticApproval: URL "https://example.com/", + manualApproval: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(InteractionRule) [auto] 3`] = ` +'InteractionRule { + id: URL "https://example.com/", + automaticApprovals: [ URL "https://example.com/", URL "https://example.com/" ], + manualApprovals: [ URL "https://example.com/", URL "https://example.com/" ] +}' +`; + +snapshot[`Deno.inspect(LikeAuthorization) [auto] 1`] = ` +'LikeAuthorization { + id: URL "https://example.com/", + attachments: [ Object {}, Link {}, PropertyValue {} ], + attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + audience: Object {}, + contents: [ "hello", "hello" ], + contexts: [ Object {}, Link {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Link {} ], + icon: Image {}, + image: Image {}, + replyTargets: [ Object {}, Link {} ], + locations: [ Object {}, Link {} ], + previews: [ Link {}, Object {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Link {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: Object {}, + bto: Object {}, + cc: Object {}, + bcc: Object {}, + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: Object {}, + interactionTarget: Object {} +}' +`; + +snapshot[`Deno.inspect(LikeAuthorization) [auto] 2`] = ` +'LikeAuthorization { id: URL "https://example.com/", attachments: [ URL "https://example.com/" ], attribution: URL "https://example.com/", @@ -72,12 +826,19 @@ snapshot[`Deno.inspect(Emoji) [auto] 2`] = ` duration: PT1H, sensitive: true, source: Source {}, - proof: URL "https://example.com/" + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: URL "https://example.com/", + interactionTarget: URL "https://example.com/" }' `; -snapshot[`Deno.inspect(Emoji) [auto] 3`] = ` -'Emoji { +snapshot[`Deno.inspect(LikeAuthorization) [auto] 3`] = ` +'LikeAuthorization { id: URL "https://example.com/", attachments: [ Object {}, Object {} ], attributions: [ Application {}, Application {} ], @@ -110,12 +871,19 @@ snapshot[`Deno.inspect(Emoji) [auto] 3`] = ` duration: PT1H, sensitive: true, source: Source {}, - proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ] + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: Object {}, + interactionTarget: Object {} }' `; -snapshot[`Deno.inspect(ChatMessage) [auto] 1`] = ` -'ChatMessage { +snapshot[`Deno.inspect(LikeRequest) [auto] 1`] = ` +'LikeRequest { id: URL "https://example.com/", attachments: [ Object {}, Link {}, PropertyValue {} ], attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], @@ -149,12 +917,22 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, - quoteUrl: URL "https://fedify.dev/" + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + object: Object {}, + target: Object {}, + result: Object {}, + origin: Object {}, + instrument: Object {} }' `; -snapshot[`Deno.inspect(ChatMessage) [auto] 2`] = ` -'ChatMessage { +snapshot[`Deno.inspect(LikeRequest) [auto] 2`] = ` +'LikeRequest { id: URL "https://example.com/", attachments: [ URL "https://example.com/" ], attribution: URL "https://example.com/", @@ -188,12 +966,22 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", - quoteUrl: URL "https://fedify.dev/" + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actor: URL "https://example.com/", + object: URL "https://example.com/", + target: URL "https://example.com/", + result: URL "https://example.com/", + origin: URL "https://example.com/", + instrument: URL "https://example.com/" }' `; -snapshot[`Deno.inspect(ChatMessage) [auto] 3`] = ` -'ChatMessage { +snapshot[`Deno.inspect(LikeRequest) [auto] 3`] = ` +'LikeRequest { id: URL "https://example.com/", attachments: [ Object {}, Object {} ], attributions: [ Application {}, Application {} ], @@ -227,12 +1015,157 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], - quoteUrl: URL "https://fedify.dev/" + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + actors: [ Application {}, Application {} ], + objects: [ Object {}, Object {} ], + targets: [ Object {}, Object {} ], + results: [ Object {}, Object {} ], + origins: [ Object {}, Object {} ], + instruments: [ Object {}, Object {} ] }' `; -snapshot[`Deno.inspect(EmojiReact) [auto] 1`] = ` -'EmojiReact { +snapshot[`Deno.inspect(ReplyAuthorization) [auto] 1`] = ` +'ReplyAuthorization { + id: URL "https://example.com/", + attachments: [ Object {}, Link {}, PropertyValue {} ], + attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], + audience: Object {}, + contents: [ "hello", "hello" ], + contexts: [ Object {}, Link {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Link {} ], + icon: Image {}, + image: Image {}, + replyTargets: [ Object {}, Link {} ], + locations: [ Object {}, Link {} ], + previews: [ Link {}, Object {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Link {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: Object {}, + bto: Object {}, + cc: Object {}, + bcc: Object {}, + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: Object {}, + interactionTarget: Object {} +}' +`; + +snapshot[`Deno.inspect(ReplyAuthorization) [auto] 2`] = ` +'ReplyAuthorization { + id: URL "https://example.com/", + attachments: [ URL "https://example.com/" ], + attribution: URL "https://example.com/", + audience: URL "https://example.com/", + contents: [ "hello", "hello" ], + contexts: [ URL "https://example.com/" ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ URL "https://example.com/" ], + icon: URL "https://example.com/", + image: URL "https://example.com/", + replyTarget: URL "https://example.com/", + location: URL "https://example.com/", + preview: URL "https://example.com/", + published: 2024-03-03T08:30:06.796196096Z, + replies: URL "https://example.com/", + shares: URL "https://example.com/", + likes: URL "https://example.com/", + emojiReactions: URL "https://example.com/", + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ URL "https://example.com/" ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", Link {} ], + to: URL "https://example.com/", + bto: URL "https://example.com/", + cc: URL "https://example.com/", + bcc: URL "https://example.com/", + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: URL "https://example.com/", + interactionTarget: URL "https://example.com/" +}' +`; + +snapshot[`Deno.inspect(ReplyAuthorization) [auto] 3`] = ` +'ReplyAuthorization { + id: URL "https://example.com/", + attachments: [ Object {}, Object {} ], + attributions: [ Application {}, Application {} ], + audiences: [ Object {}, Object {} ], + contents: [ "hello", "hello" ], + contexts: [ Object {}, Object {} ], + names: [ "hello", "hello" ], + endTime: 2024-03-03T08:30:06.796196096Z, + generators: [ Object {}, Object {} ], + icons: [ Image {}, Image {} ], + images: [ Image {}, Image {} ], + replyTargets: [ Object {}, Object {} ], + locations: [ Object {}, Object {} ], + previews: [ Link {}, Link {} ], + published: 2024-03-03T08:30:06.796196096Z, + replies: Collection {}, + shares: Collection {}, + likes: Collection {}, + emojiReactions: Collection {}, + startTime: 2024-03-03T08:30:06.796196096Z, + summaries: [ "hello", "hello" ], + tags: [ Object {}, Object {} ], + updated: 2024-03-03T08:30:06.796196096Z, + urls: [ URL "https://example.com/", URL "https://example.com/" ], + tos: [ Object {}, Object {} ], + btos: [ Object {}, Object {} ], + ccs: [ Object {}, Object {} ], + bccs: [ Object {}, Object {} ], + mediaType: "hello", + duration: PT1H, + sensitive: true, + source: Source {}, + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", + interactingObject: Object {}, + interactionTarget: Object {} +}' +`; + +snapshot[`Deno.inspect(ReplyRequest) [auto] 1`] = ` +'ReplyRequest { id: URL "https://example.com/", attachments: [ Object {}, Link {}, PropertyValue {} ], attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], @@ -266,6 +1199,11 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -275,8 +1213,8 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 1`] = ` }' `; -snapshot[`Deno.inspect(EmojiReact) [auto] 2`] = ` -'EmojiReact { +snapshot[`Deno.inspect(ReplyRequest) [auto] 2`] = ` +'ReplyRequest { id: URL "https://example.com/", attachments: [ URL "https://example.com/" ], attribution: URL "https://example.com/", @@ -310,6 +1248,11 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -319,8 +1262,8 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 2`] = ` }' `; -snapshot[`Deno.inspect(EmojiReact) [auto] 3`] = ` -'EmojiReact { +snapshot[`Deno.inspect(ReplyRequest) [auto] 3`] = ` +'ReplyRequest { id: URL "https://example.com/", attachments: [ Object {}, Object {} ], attributions: [ Application {}, Application {} ], @@ -354,6 +1297,11 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -363,12 +1311,6 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 3`] = ` }' `; -snapshot[`Deno.inspect(PropertyValue) [auto] 1`] = `'PropertyValue { id: URL "https://example.com/", name: "hello", value: "hello" }'`; - -snapshot[`Deno.inspect(PropertyValue) [auto] 2`] = `'PropertyValue { id: URL "https://example.com/", name: "hello", value: "hello" }'`; - -snapshot[`Deno.inspect(PropertyValue) [auto] 3`] = `'PropertyValue { id: URL "https://example.com/", name: "hello", value: "hello" }'`; - snapshot[`Deno.inspect(Export) [auto] 1`] = ` 'Export { id: URL "https://example.com/", @@ -572,6 +1514,11 @@ snapshot[`Deno.inspect(Accept) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -616,6 +1563,11 @@ snapshot[`Deno.inspect(Accept) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -660,6 +1612,11 @@ snapshot[`Deno.inspect(Accept) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -704,6 +1661,11 @@ snapshot[`Deno.inspect(Activity) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -748,6 +1710,11 @@ snapshot[`Deno.inspect(Activity) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -792,6 +1759,11 @@ snapshot[`Deno.inspect(Activity) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -836,6 +1808,11 @@ snapshot[`Deno.inspect(Add) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -880,6 +1857,11 @@ snapshot[`Deno.inspect(Add) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -924,6 +1906,11 @@ snapshot[`Deno.inspect(Add) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -968,6 +1955,11 @@ snapshot[`Deno.inspect(Announce) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1012,6 +2004,11 @@ snapshot[`Deno.inspect(Announce) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -1056,6 +2053,11 @@ snapshot[`Deno.inspect(Announce) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1100,6 +2102,11 @@ snapshot[`Deno.inspect(Application) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -1160,6 +2167,11 @@ snapshot[`Deno.inspect(Application) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -1220,6 +2232,11 @@ snapshot[`Deno.inspect(Application) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -1280,6 +2297,11 @@ snapshot[`Deno.inspect(Arrive) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1324,6 +2346,11 @@ snapshot[`Deno.inspect(Arrive) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -1368,6 +2395,11 @@ snapshot[`Deno.inspect(Arrive) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1412,6 +2444,11 @@ snapshot[`Deno.inspect(Article) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/" }' `; @@ -1451,6 +2488,11 @@ snapshot[`Deno.inspect(Article) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/" }' `; @@ -1490,6 +2532,11 @@ snapshot[`Deno.inspect(Article) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/" }' `; @@ -1529,6 +2576,11 @@ snapshot[`Deno.inspect(Audio) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -1569,6 +2621,11 @@ snapshot[`Deno.inspect(Audio) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -1609,6 +2666,11 @@ snapshot[`Deno.inspect(Audio) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -1649,6 +2711,11 @@ snapshot[`Deno.inspect(Block) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1693,6 +2760,11 @@ snapshot[`Deno.inspect(Block) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -1737,6 +2809,11 @@ snapshot[`Deno.inspect(Block) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1781,6 +2858,11 @@ snapshot[`Deno.inspect(Collection) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -1832,6 +2914,11 @@ snapshot[`Deno.inspect(Collection) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -1883,6 +2970,11 @@ snapshot[`Deno.inspect(Collection) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -1934,6 +3026,11 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -1988,6 +3085,11 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -2042,6 +3144,11 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -2096,6 +3203,11 @@ snapshot[`Deno.inspect(Create) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2140,6 +3252,11 @@ snapshot[`Deno.inspect(Create) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -2184,6 +3301,11 @@ snapshot[`Deno.inspect(Create) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2228,6 +3350,11 @@ snapshot[`Deno.inspect(Delete) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2272,6 +3399,11 @@ snapshot[`Deno.inspect(Delete) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -2316,6 +3448,11 @@ snapshot[`Deno.inspect(Delete) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2360,6 +3497,11 @@ snapshot[`Deno.inspect(Dislike) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2404,6 +3546,11 @@ snapshot[`Deno.inspect(Dislike) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -2448,6 +3595,11 @@ snapshot[`Deno.inspect(Dislike) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2492,6 +3644,11 @@ snapshot[`Deno.inspect(Document) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -2532,6 +3689,11 @@ snapshot[`Deno.inspect(Document) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -2572,6 +3734,11 @@ snapshot[`Deno.inspect(Document) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -2647,7 +3814,12 @@ snapshot[`Deno.inspect(Event) [auto] 1`] = ` duration: PT1H, sensitive: true, source: Source {}, - proof: DataIntegrityProof {} + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" }' `; @@ -2685,7 +3857,12 @@ snapshot[`Deno.inspect(Event) [auto] 2`] = ` duration: PT1H, sensitive: true, source: Source {}, - proof: URL "https://example.com/" + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" }' `; @@ -2723,7 +3900,12 @@ snapshot[`Deno.inspect(Event) [auto] 3`] = ` duration: PT1H, sensitive: true, source: Source {}, - proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ] + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" }' `; @@ -2762,6 +3944,11 @@ snapshot[`Deno.inspect(Flag) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2806,6 +3993,11 @@ snapshot[`Deno.inspect(Flag) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -2850,6 +4042,11 @@ snapshot[`Deno.inspect(Flag) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2894,6 +4091,11 @@ snapshot[`Deno.inspect(Follow) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2938,6 +4140,11 @@ snapshot[`Deno.inspect(Follow) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -2982,6 +4189,11 @@ snapshot[`Deno.inspect(Follow) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3026,6 +4238,11 @@ snapshot[`Deno.inspect(Group) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -3086,6 +4303,11 @@ snapshot[`Deno.inspect(Group) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -3146,6 +4368,11 @@ snapshot[`Deno.inspect(Group) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -3281,6 +4508,11 @@ snapshot[`Deno.inspect(Ignore) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3325,6 +4557,11 @@ snapshot[`Deno.inspect(Ignore) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3369,6 +4606,11 @@ snapshot[`Deno.inspect(Ignore) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3413,6 +4655,11 @@ snapshot[`Deno.inspect(Image) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -3453,6 +4700,11 @@ snapshot[`Deno.inspect(Image) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -3493,6 +4745,11 @@ snapshot[`Deno.inspect(Image) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -3533,6 +4790,11 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3577,6 +4839,11 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3621,6 +4888,11 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3665,6 +4937,11 @@ snapshot[`Deno.inspect(Invite) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3709,6 +4986,11 @@ snapshot[`Deno.inspect(Invite) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3753,6 +5035,11 @@ snapshot[`Deno.inspect(Invite) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3797,6 +5084,11 @@ snapshot[`Deno.inspect(Join) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3841,6 +5133,11 @@ snapshot[`Deno.inspect(Join) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3885,6 +5182,11 @@ snapshot[`Deno.inspect(Join) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3929,6 +5231,11 @@ snapshot[`Deno.inspect(Leave) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3973,6 +5280,11 @@ snapshot[`Deno.inspect(Leave) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4017,6 +5329,11 @@ snapshot[`Deno.inspect(Leave) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4061,6 +5378,11 @@ snapshot[`Deno.inspect(Like) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4105,6 +5427,11 @@ snapshot[`Deno.inspect(Like) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4149,6 +5476,11 @@ snapshot[`Deno.inspect(Like) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4268,6 +5600,11 @@ snapshot[`Deno.inspect(Listen) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4312,6 +5649,11 @@ snapshot[`Deno.inspect(Listen) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4356,6 +5698,11 @@ snapshot[`Deno.inspect(Listen) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4475,6 +5822,11 @@ snapshot[`Deno.inspect(Move) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4519,6 +5871,11 @@ snapshot[`Deno.inspect(Move) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4563,6 +5920,11 @@ snapshot[`Deno.inspect(Move) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4607,6 +5969,11 @@ snapshot[`Deno.inspect(Note) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/" }' `; @@ -4646,6 +6013,11 @@ snapshot[`Deno.inspect(Note) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/" }' `; @@ -4685,6 +6057,11 @@ snapshot[`Deno.inspect(Note) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/" }' `; @@ -4723,7 +6100,12 @@ snapshot[`Deno.inspect(Object) [auto] 1`] = ` duration: PT1H, sensitive: true, source: Source {}, - proof: DataIntegrityProof {} + proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" }' `; @@ -4761,7 +6143,12 @@ snapshot[`Deno.inspect(Object) [auto] 2`] = ` duration: PT1H, sensitive: true, source: Source {}, - proof: URL "https://example.com/" + proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" }' `; @@ -4799,7 +6186,12 @@ snapshot[`Deno.inspect(Object) [auto] 3`] = ` duration: PT1H, sensitive: true, source: Source {}, - proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ] + proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/" }' `; @@ -4838,6 +6230,11 @@ snapshot[`Deno.inspect(Offer) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4882,6 +6279,11 @@ snapshot[`Deno.inspect(Offer) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4926,6 +6328,11 @@ snapshot[`Deno.inspect(Offer) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4970,6 +6377,11 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -5021,6 +6433,11 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -5072,6 +6489,11 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -5123,6 +6545,11 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -5178,6 +6605,11 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -5233,6 +6665,11 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -5288,6 +6725,11 @@ snapshot[`Deno.inspect(Organization) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -5348,6 +6790,11 @@ snapshot[`Deno.inspect(Organization) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -5408,6 +6855,11 @@ snapshot[`Deno.inspect(Organization) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -5468,6 +6920,11 @@ snapshot[`Deno.inspect(Page) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -5508,6 +6965,11 @@ snapshot[`Deno.inspect(Page) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -5548,6 +7010,11 @@ snapshot[`Deno.inspect(Page) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -5588,6 +7055,11 @@ snapshot[`Deno.inspect(Person) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -5648,6 +7120,11 @@ snapshot[`Deno.inspect(Person) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -5708,6 +7185,11 @@ snapshot[`Deno.inspect(Person) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -5768,6 +7250,11 @@ snapshot[`Deno.inspect(Place) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -5812,6 +7299,11 @@ snapshot[`Deno.inspect(Place) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -5856,6 +7348,11 @@ snapshot[`Deno.inspect(Place) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -5900,6 +7397,11 @@ snapshot[`Deno.inspect(Profile) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", describes: Object {} }' `; @@ -5939,6 +7441,11 @@ snapshot[`Deno.inspect(Profile) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", describes: URL "https://example.com/" }' `; @@ -5978,6 +7485,11 @@ snapshot[`Deno.inspect(Profile) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", describes: Object {} }' `; @@ -6017,6 +7529,11 @@ snapshot[`Deno.inspect(Question) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6066,6 +7583,11 @@ snapshot[`Deno.inspect(Question) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6115,6 +7637,11 @@ snapshot[`Deno.inspect(Question) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6164,6 +7691,11 @@ snapshot[`Deno.inspect(Read) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6208,6 +7740,11 @@ snapshot[`Deno.inspect(Read) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6252,6 +7789,11 @@ snapshot[`Deno.inspect(Read) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6296,6 +7838,11 @@ snapshot[`Deno.inspect(Reject) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6340,6 +7887,11 @@ snapshot[`Deno.inspect(Reject) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6384,6 +7936,11 @@ snapshot[`Deno.inspect(Reject) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6428,6 +7985,11 @@ snapshot[`Deno.inspect(Relationship) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", subject: Object {}, object: Object {}, relationship: Object {} @@ -6469,6 +8031,11 @@ snapshot[`Deno.inspect(Relationship) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", subject: URL "https://example.com/", object: URL "https://example.com/", relationship: URL "https://example.com/" @@ -6510,6 +8077,11 @@ snapshot[`Deno.inspect(Relationship) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", subject: Object {}, objects: [ Object {}, Object {} ], relationships: [ Object {}, Object {} ] @@ -6551,6 +8123,11 @@ snapshot[`Deno.inspect(Remove) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6595,6 +8172,11 @@ snapshot[`Deno.inspect(Remove) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6639,6 +8221,11 @@ snapshot[`Deno.inspect(Remove) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6683,6 +8270,11 @@ snapshot[`Deno.inspect(Service) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -6743,6 +8335,11 @@ snapshot[`Deno.inspect(Service) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -6803,6 +8400,11 @@ snapshot[`Deno.inspect(Service) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -6887,6 +8489,11 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6931,6 +8538,11 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6975,6 +8587,11 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7019,6 +8636,11 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7063,6 +8685,11 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7107,6 +8734,11 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7151,6 +8783,11 @@ snapshot[`Deno.inspect(Tombstone) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", deleted: 2024-03-03T08:30:06.796196096Z }' `; @@ -7190,6 +8827,11 @@ snapshot[`Deno.inspect(Tombstone) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", deleted: 2024-03-03T08:30:06.796196096Z }' `; @@ -7229,6 +8871,11 @@ snapshot[`Deno.inspect(Tombstone) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", deleted: 2024-03-03T08:30:06.796196096Z }' `; @@ -7268,6 +8915,11 @@ snapshot[`Deno.inspect(Travel) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7312,6 +8964,11 @@ snapshot[`Deno.inspect(Travel) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7356,6 +9013,11 @@ snapshot[`Deno.inspect(Travel) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7400,6 +9062,11 @@ snapshot[`Deno.inspect(Undo) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7444,6 +9111,11 @@ snapshot[`Deno.inspect(Undo) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7488,6 +9160,11 @@ snapshot[`Deno.inspect(Undo) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7532,6 +9209,11 @@ snapshot[`Deno.inspect(Update) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7576,6 +9258,11 @@ snapshot[`Deno.inspect(Update) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7620,6 +9307,11 @@ snapshot[`Deno.inspect(Update) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7664,6 +9356,11 @@ snapshot[`Deno.inspect(Video) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -7704,6 +9401,11 @@ snapshot[`Deno.inspect(Video) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -7744,6 +9446,11 @@ snapshot[`Deno.inspect(Video) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", width: 123, height: 123 }' @@ -7784,6 +9491,11 @@ snapshot[`Deno.inspect(View) [auto] 1`] = ` sensitive: true, source: Source {}, proof: DataIntegrityProof {}, + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7828,6 +9540,11 @@ snapshot[`Deno.inspect(View) [auto] 2`] = ` sensitive: true, source: Source {}, proof: URL "https://example.com/", + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7872,6 +9589,11 @@ snapshot[`Deno.inspect(View) [auto] 3`] = ` sensitive: true, source: Source {}, proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], + interactionPolicy: InteractionPolicy {}, + approvedBy: URL "https://example.com/", + likeAuthorization: URL "https://example.com/", + replyAuthorization: URL "https://example.com/", + announceAuthorization: URL "https://example.com/", actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], diff --git a/packages/vocab/src/accept.yaml b/packages/vocab/src/accept.yaml index 60ad23cd7..dac114455 100644 --- a/packages/vocab/src/accept.yaml +++ b/packages/vocab/src/accept.yaml @@ -12,4 +12,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/activity.yaml b/packages/vocab/src/activity.yaml index 7a6b46dc0..bb2ebb501 100644 --- a/packages/vocab/src/activity.yaml +++ b/packages/vocab/src/activity.yaml @@ -15,6 +15,7 @@ defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/v1" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: - pluralName: actors diff --git a/packages/vocab/src/add.yaml b/packages/vocab/src/add.yaml index 62051664e..6f3dc1af1 100644 --- a/packages/vocab/src/add.yaml +++ b/packages/vocab/src/add.yaml @@ -13,4 +13,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/announce.yaml b/packages/vocab/src/announce.yaml index b36a72e46..9f0ac44b6 100644 --- a/packages/vocab/src/announce.yaml +++ b/packages/vocab/src/announce.yaml @@ -12,6 +12,7 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/announceauthorization.yaml b/packages/vocab/src/announceauthorization.yaml new file mode 100644 index 000000000..d3e90907a --- /dev/null +++ b/packages/vocab/src/announceauthorization.yaml @@ -0,0 +1,40 @@ +$schema: ../../vocab-tools/schema.yaml +name: AnnounceAuthorization +compactName: AnnounceAuthorization +uri: "https://gotosocial.org/ns#AnnounceAuthorization" +extends: "https://www.w3.org/ns/activitystreams#Object" +entity: true +description: | + Proves that an {@link Announce} interaction has been approved by + the post author. + + This object is dereferenceable and is used by third parties to verify + that an announce (boost) was authorized. The `attributedTo` property + identifies the post author who granted the approval. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: +- "https://www.w3.org/ns/activitystreams" +- "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" + +properties: +- singularName: interactingObject + functional: true + compactName: interactingObject + uri: "https://gotosocial.org/ns#interactingObject" + description: | + The URI of the interaction (e.g., an {@link Announce} activity) that + has been authorized. + range: + - "https://www.w3.org/ns/activitystreams#Object" + +- singularName: interactionTarget + functional: true + compactName: interactionTarget + uri: "https://gotosocial.org/ns#interactionTarget" + description: | + The URI of the post that is the target of the authorized announce. + range: + - "https://www.w3.org/ns/activitystreams#Object" diff --git a/packages/vocab/src/announcerequest.yaml b/packages/vocab/src/announcerequest.yaml new file mode 100644 index 000000000..b5ca3b243 --- /dev/null +++ b/packages/vocab/src/announcerequest.yaml @@ -0,0 +1,24 @@ +$schema: ../../vocab-tools/schema.yaml +name: AnnounceRequest +compactName: AnnounceRequest +uri: "https://gotosocial.org/ns#AnnounceRequest" +extends: "https://www.w3.org/ns/activitystreams#Activity" +entity: true +description: | + A request to announce (boost) a post that requires approval from + the post author. + + The `object` property references the post to be announced, and + the `instrument` property contains the {@link Announce} activity itself. + + The post author responds with an {@link Accept} (with an + {@link AnnounceAuthorization} as `result`) or a {@link Reject}. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: +- "https://w3id.org/identity/v1" +- "https://www.w3.org/ns/activitystreams" +- "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" +properties: [] diff --git a/packages/vocab/src/application.yaml b/packages/vocab/src/application.yaml index a82f7e8b3..a5b01b794 100644 --- a/packages/vocab/src/application.yaml +++ b/packages/vocab/src/application.yaml @@ -11,6 +11,7 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" - alsoKnownAs: "@id": "as:alsoKnownAs" "@type": "@id" diff --git a/packages/vocab/src/arrive.yaml b/packages/vocab/src/arrive.yaml index cf1eb5f65..d4b3e0c9a 100644 --- a/packages/vocab/src/arrive.yaml +++ b/packages/vocab/src/arrive.yaml @@ -12,4 +12,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/article.yaml b/packages/vocab/src/article.yaml index e0f30bd08..6a95e6b0b 100644 --- a/packages/vocab/src/article.yaml +++ b/packages/vocab/src/article.yaml @@ -8,6 +8,7 @@ description: Represents any kind of multi-paragraph written work. defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/audio.yaml b/packages/vocab/src/audio.yaml index d04fa5572..659334d4b 100644 --- a/packages/vocab/src/audio.yaml +++ b/packages/vocab/src/audio.yaml @@ -8,4 +8,5 @@ description: Represents an audio document of any kind. defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/block.yaml b/packages/vocab/src/block.yaml index 4fef742ab..4b64e49cc 100644 --- a/packages/vocab/src/block.yaml +++ b/packages/vocab/src/block.yaml @@ -13,4 +13,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/chatmessage.yaml b/packages/vocab/src/chatmessage.yaml index 593b5478c..a001f6382 100644 --- a/packages/vocab/src/chatmessage.yaml +++ b/packages/vocab/src/chatmessage.yaml @@ -13,6 +13,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/collection.yaml b/packages/vocab/src/collection.yaml index 11d4db64f..2fb437f75 100644 --- a/packages/vocab/src/collection.yaml +++ b/packages/vocab/src/collection.yaml @@ -13,6 +13,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/collectionpage.yaml b/packages/vocab/src/collectionpage.yaml index 396f74521..dce36b0bb 100644 --- a/packages/vocab/src/collectionpage.yaml +++ b/packages/vocab/src/collectionpage.yaml @@ -11,6 +11,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/create.yaml b/packages/vocab/src/create.yaml index 20d8a4eb2..1d4027d2a 100644 --- a/packages/vocab/src/create.yaml +++ b/packages/vocab/src/create.yaml @@ -9,6 +9,7 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/delete.yaml b/packages/vocab/src/delete.yaml index 413014158..d9d0a65d0 100644 --- a/packages/vocab/src/delete.yaml +++ b/packages/vocab/src/delete.yaml @@ -11,6 +11,7 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/dislike.yaml b/packages/vocab/src/dislike.yaml index 83c50825a..1401fb0dc 100644 --- a/packages/vocab/src/dislike.yaml +++ b/packages/vocab/src/dislike.yaml @@ -9,6 +9,7 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" Emoji: "toot:Emoji" properties: [] diff --git a/packages/vocab/src/document.yaml b/packages/vocab/src/document.yaml index c312b55d2..c7518f973 100644 --- a/packages/vocab/src/document.yaml +++ b/packages/vocab/src/document.yaml @@ -8,6 +8,7 @@ description: Represents a document of any kind. defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: - singularName: width diff --git a/packages/vocab/src/emojireact.yaml b/packages/vocab/src/emojireact.yaml index 2526e3ae7..1adb02e18 100644 --- a/packages/vocab/src/emojireact.yaml +++ b/packages/vocab/src/emojireact.yaml @@ -10,6 +10,7 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - litepub: "http://litepub.social/ns#" toot: "http://joinmastodon.org/ns#" EmojiReact: "litepub:EmojiReact" diff --git a/packages/vocab/src/event.yaml b/packages/vocab/src/event.yaml index 192154e46..18cf28890 100644 --- a/packages/vocab/src/event.yaml +++ b/packages/vocab/src/event.yaml @@ -8,4 +8,5 @@ description: Represents any kind of event. defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/flag.yaml b/packages/vocab/src/flag.yaml index 47d8441c2..03e0e7d4a 100644 --- a/packages/vocab/src/flag.yaml +++ b/packages/vocab/src/flag.yaml @@ -12,4 +12,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/follow.yaml b/packages/vocab/src/follow.yaml index 6e8b4a49d..c44e157e2 100644 --- a/packages/vocab/src/follow.yaml +++ b/packages/vocab/src/follow.yaml @@ -16,4 +16,5 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/group.yaml b/packages/vocab/src/group.yaml index a0d3e4d16..62aec9c6d 100644 --- a/packages/vocab/src/group.yaml +++ b/packages/vocab/src/group.yaml @@ -11,6 +11,7 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" - alsoKnownAs: "@id": "as:alsoKnownAs" "@type": "@id" diff --git a/packages/vocab/src/ignore.yaml b/packages/vocab/src/ignore.yaml index 142a59ee6..21b756fc6 100644 --- a/packages/vocab/src/ignore.yaml +++ b/packages/vocab/src/ignore.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/image.yaml b/packages/vocab/src/image.yaml index 68ce3ca3c..dcf43f8e8 100644 --- a/packages/vocab/src/image.yaml +++ b/packages/vocab/src/image.yaml @@ -5,5 +5,8 @@ uri: "https://www.w3.org/ns/activitystreams#Image" extends: "https://www.w3.org/ns/activitystreams#Document" entity: true description: An image document of any kind. -defaultContext: "https://www.w3.org/ns/activitystreams" +defaultContext: +- "https://www.w3.org/ns/activitystreams" +- "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/interactionpolicy.yaml b/packages/vocab/src/interactionpolicy.yaml new file mode 100644 index 000000000..d8616b326 --- /dev/null +++ b/packages/vocab/src/interactionpolicy.yaml @@ -0,0 +1,54 @@ +$schema: ../../vocab-tools/schema.yaml +name: InteractionPolicy +compactName: InteractionPolicy +uri: "https://gotosocial.org/ns#InteractionPolicy" +entity: false +typeless: true +description: | + Represents an interaction policy attached to a post, specifying who can + like, reply to, or announce it. Each sub-policy ({@link InteractionRule}) + defines which actors receive automatic or manual approval. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: "https://gotosocial.org/ns" + +properties: +- singularName: canLike + functional: true + compactName: canLike + uri: "https://gotosocial.org/ns#canLike" + untyped: true + description: | + The sub-policy specifying who can like the post. + + When absent, implementations should assume that anyone can like the post + (i.e., `automaticApproval` defaults to the public collection). + range: + - "https://gotosocial.org/ns#InteractionRule" + +- singularName: canReply + functional: true + compactName: canReply + uri: "https://gotosocial.org/ns#canReply" + untyped: true + description: | + The sub-policy specifying who can reply to the post. + + When absent, implementations should assume that anyone can reply + (i.e., `automaticApproval` defaults to the public collection). + range: + - "https://gotosocial.org/ns#InteractionRule" + +- singularName: canAnnounce + functional: true + compactName: canAnnounce + uri: "https://gotosocial.org/ns#canAnnounce" + untyped: true + description: | + The sub-policy specifying who can announce (boost) the post. + + When absent, implementations should assume that anyone can announce + (i.e., `automaticApproval` defaults to the public collection). + range: + - "https://gotosocial.org/ns#InteractionRule" diff --git a/packages/vocab/src/interactionrule.yaml b/packages/vocab/src/interactionrule.yaml new file mode 100644 index 000000000..7fa7fa468 --- /dev/null +++ b/packages/vocab/src/interactionrule.yaml @@ -0,0 +1,50 @@ +$schema: ../../vocab-tools/schema.yaml +name: InteractionRule +compactName: InteractionRule +uri: "https://gotosocial.org/ns#InteractionRule" +entity: false +typeless: true +description: | + Represents a sub-policy within an {@link InteractionPolicy}, defining which + actors receive automatic or manual approval for a specific interaction type + (like, reply, or announce). + + Valid values in the approval lists include: + + - The ActivityStreams public collection + (`https://www.w3.org/ns/activitystreams#Public`) for anyone + - The post author's `followers` or `following` collection URIs + - Individual actor URIs + + When an actor appears in both `automaticApproval` and `manualApproval`, + the more specific value takes precedence (individual URI overrides + collection membership), and `automaticApproval` takes precedence over + `manualApproval` for identical URIs. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: "https://gotosocial.org/ns" + +properties: +- pluralName: automaticApprovals + singularName: automaticApproval + singularAccessor: true + compactName: automaticApproval + uri: "https://gotosocial.org/ns#automaticApproval" + description: | + URIs of actors or collections whose interactions are automatically + approved without requiring manual review by the post author. + range: + - "http://www.w3.org/2001/XMLSchema#anyURI" + +- pluralName: manualApprovals + singularName: manualApproval + singularAccessor: true + compactName: manualApproval + uri: "https://gotosocial.org/ns#manualApproval" + description: | + URIs of actors or collections whose interactions require manual approval + by the post author. The post author can accept or reject these + interactions at their discretion. + range: + - "http://www.w3.org/2001/XMLSchema#anyURI" diff --git a/packages/vocab/src/intransitiveactivity.yaml b/packages/vocab/src/intransitiveactivity.yaml index 7119e99e3..64da53e6e 100644 --- a/packages/vocab/src/intransitiveactivity.yaml +++ b/packages/vocab/src/intransitiveactivity.yaml @@ -12,4 +12,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/invite.yaml b/packages/vocab/src/invite.yaml index eac1e5e17..c0d99db49 100644 --- a/packages/vocab/src/invite.yaml +++ b/packages/vocab/src/invite.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/join.yaml b/packages/vocab/src/join.yaml index 8cb76af4a..6ba9026ca 100644 --- a/packages/vocab/src/join.yaml +++ b/packages/vocab/src/join.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/leave.yaml b/packages/vocab/src/leave.yaml index 272324fff..c4f2991cf 100644 --- a/packages/vocab/src/leave.yaml +++ b/packages/vocab/src/leave.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/like.yaml b/packages/vocab/src/like.yaml index 163394fa8..22037f027 100644 --- a/packages/vocab/src/like.yaml +++ b/packages/vocab/src/like.yaml @@ -11,6 +11,7 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" Emoji: "toot:Emoji" properties: [] diff --git a/packages/vocab/src/likeauthorization.yaml b/packages/vocab/src/likeauthorization.yaml new file mode 100644 index 000000000..99e9924c6 --- /dev/null +++ b/packages/vocab/src/likeauthorization.yaml @@ -0,0 +1,39 @@ +$schema: ../../vocab-tools/schema.yaml +name: LikeAuthorization +compactName: LikeAuthorization +uri: "https://gotosocial.org/ns#LikeApproval" +extends: "https://www.w3.org/ns/activitystreams#Object" +entity: true +description: | + Proves that a {@link Like} interaction has been approved by the post author. + + This object is dereferenceable and is used by third parties to verify + that a like was authorized. The `attributedTo` property identifies + the post author who granted the approval. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: +- "https://www.w3.org/ns/activitystreams" +- "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" + +properties: +- singularName: interactingObject + functional: true + compactName: interactingObject + uri: "https://gotosocial.org/ns#interactingObject" + description: | + The URI of the interaction (e.g., a {@link Like} activity) that + has been authorized. + range: + - "https://www.w3.org/ns/activitystreams#Object" + +- singularName: interactionTarget + functional: true + compactName: interactionTarget + uri: "https://gotosocial.org/ns#interactionTarget" + description: | + The URI of the post that is the target of the authorized interaction. + range: + - "https://www.w3.org/ns/activitystreams#Object" diff --git a/packages/vocab/src/likerequest.yaml b/packages/vocab/src/likerequest.yaml new file mode 100644 index 000000000..addaf6a01 --- /dev/null +++ b/packages/vocab/src/likerequest.yaml @@ -0,0 +1,23 @@ +$schema: ../../vocab-tools/schema.yaml +name: LikeRequest +compactName: LikeRequest +uri: "https://gotosocial.org/ns#LikeRequest" +extends: "https://www.w3.org/ns/activitystreams#Activity" +entity: true +description: | + A request to like a post that requires approval from the post author. + + The `object` property references the post to be liked, and + the `instrument` property contains the {@link Like} activity itself. + + The post author responds with an {@link Accept} (with a + {@link LikeAuthorization} as `result`) or a {@link Reject}. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: +- "https://w3id.org/identity/v1" +- "https://www.w3.org/ns/activitystreams" +- "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" +properties: [] diff --git a/packages/vocab/src/listen.yaml b/packages/vocab/src/listen.yaml index 688d20453..76805f46b 100644 --- a/packages/vocab/src/listen.yaml +++ b/packages/vocab/src/listen.yaml @@ -9,4 +9,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/move.yaml b/packages/vocab/src/move.yaml index 633a2892e..5d05ac007 100644 --- a/packages/vocab/src/move.yaml +++ b/packages/vocab/src/move.yaml @@ -12,4 +12,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/note.yaml b/packages/vocab/src/note.yaml index 06927ba7d..d91cf1671 100644 --- a/packages/vocab/src/note.yaml +++ b/packages/vocab/src/note.yaml @@ -10,6 +10,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/object.yaml b/packages/vocab/src/object.yaml index 627f0c388..7d20e85f3 100644 --- a/packages/vocab/src/object.yaml +++ b/packages/vocab/src/object.yaml @@ -12,6 +12,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - fedibird: "http://fedibird.com/ns#" sensitive: "as:sensitive" emojiReactions: @@ -402,3 +403,63 @@ properties: A cryptographic proof that can be used to verify the integrity of an object. range: - "https://w3id.org/security#DataIntegrityProof" + +- singularName: interactionPolicy + functional: true + compactName: interactionPolicy + uri: "https://gotosocial.org/ns#interactionPolicy" + untyped: true + description: | + The interaction policy for this object, specifying who can like, reply to, + or announce it. Contains sub-policies (`canLike`, `canReply`, + `canAnnounce`) each defining `automaticApproval` and `manualApproval` + lists. + + When absent, implementations should assume anyone can interact with + the object. Setting this property signals that the server understands + and will enforce interaction controls. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. + range: + - "https://gotosocial.org/ns#InteractionPolicy" + +- singularName: approvedBy + functional: true + compactName: approvedBy + uri: "https://gotosocial.org/ns#approvedBy" + description: | + A URI referencing an authorization object that proves this interaction + was approved by the target post's author. + range: + - "http://www.w3.org/2001/XMLSchema#anyURI" + +- singularName: likeAuthorization + functional: true + compactName: likeAuthorization + uri: "https://gotosocial.org/ns#likeAuthorization" + description: | + A URI referencing a {@link LikeAuthorization} object that proves + this like interaction was approved by the target post's author. + range: + - "http://www.w3.org/2001/XMLSchema#anyURI" + +- singularName: replyAuthorization + functional: true + compactName: replyAuthorization + uri: "https://gotosocial.org/ns#replyAuthorization" + description: | + A URI referencing a {@link ReplyAuthorization} object that proves + this reply was approved by the target post's author. + range: + - "http://www.w3.org/2001/XMLSchema#anyURI" + +- singularName: announceAuthorization + functional: true + compactName: announceAuthorization + uri: "https://gotosocial.org/ns#announceAuthorization" + description: | + A URI referencing an {@link AnnounceAuthorization} object that proves + this announce (boost) was approved by the target post's author. + range: + - "http://www.w3.org/2001/XMLSchema#anyURI" diff --git a/packages/vocab/src/offer.yaml b/packages/vocab/src/offer.yaml index a1658bb45..5b47447be 100644 --- a/packages/vocab/src/offer.yaml +++ b/packages/vocab/src/offer.yaml @@ -12,4 +12,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/orderedcollection.yaml b/packages/vocab/src/orderedcollection.yaml index 38da7dc0a..d28e3a65a 100644 --- a/packages/vocab/src/orderedcollection.yaml +++ b/packages/vocab/src/orderedcollection.yaml @@ -10,6 +10,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/orderedcollectionpage.yaml b/packages/vocab/src/orderedcollectionpage.yaml index 31ef53148..93d5e4e92 100644 --- a/packages/vocab/src/orderedcollectionpage.yaml +++ b/packages/vocab/src/orderedcollectionpage.yaml @@ -11,6 +11,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/organization.yaml b/packages/vocab/src/organization.yaml index ab47bd162..adcea113b 100644 --- a/packages/vocab/src/organization.yaml +++ b/packages/vocab/src/organization.yaml @@ -11,6 +11,7 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" - alsoKnownAs: "@id": "as:alsoKnownAs" "@type": "@id" diff --git a/packages/vocab/src/page.yaml b/packages/vocab/src/page.yaml index c3ee9fb80..4e9622323 100644 --- a/packages/vocab/src/page.yaml +++ b/packages/vocab/src/page.yaml @@ -8,4 +8,5 @@ description: Represents a Web Page. defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/person.yaml b/packages/vocab/src/person.yaml index 044896452..5e67e789d 100644 --- a/packages/vocab/src/person.yaml +++ b/packages/vocab/src/person.yaml @@ -11,6 +11,7 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" - alsoKnownAs: "@id": "as:alsoKnownAs" "@type": "@id" diff --git a/packages/vocab/src/place.yaml b/packages/vocab/src/place.yaml index a4ee078a2..2b83039c8 100644 --- a/packages/vocab/src/place.yaml +++ b/packages/vocab/src/place.yaml @@ -11,6 +11,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: - singularName: accuracy diff --git a/packages/vocab/src/profile.yaml b/packages/vocab/src/profile.yaml index dbaca6066..35e0a008c 100644 --- a/packages/vocab/src/profile.yaml +++ b/packages/vocab/src/profile.yaml @@ -13,6 +13,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: - singularName: describes diff --git a/packages/vocab/src/question.yaml b/packages/vocab/src/question.yaml index 0ec71ceb8..0467fe54a 100644 --- a/packages/vocab/src/question.yaml +++ b/packages/vocab/src/question.yaml @@ -17,6 +17,7 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" - toot: "http://joinmastodon.org/ns#" misskey: "https://misskey-hub.net/ns#" fedibird: "http://fedibird.com/ns#" diff --git a/packages/vocab/src/read.yaml b/packages/vocab/src/read.yaml index 6fc2ec69a..568ae7dc5 100644 --- a/packages/vocab/src/read.yaml +++ b/packages/vocab/src/read.yaml @@ -10,4 +10,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/reject.yaml b/packages/vocab/src/reject.yaml index 1d584f609..e8f5817ba 100644 --- a/packages/vocab/src/reject.yaml +++ b/packages/vocab/src/reject.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/relationship.yaml b/packages/vocab/src/relationship.yaml index aceb726ce..72ce40907 100644 --- a/packages/vocab/src/relationship.yaml +++ b/packages/vocab/src/relationship.yaml @@ -15,6 +15,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: - singularName: subject diff --git a/packages/vocab/src/remove.yaml b/packages/vocab/src/remove.yaml index c3daf58e3..653df59ac 100644 --- a/packages/vocab/src/remove.yaml +++ b/packages/vocab/src/remove.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/replyauthorization.yaml b/packages/vocab/src/replyauthorization.yaml new file mode 100644 index 000000000..c06839c77 --- /dev/null +++ b/packages/vocab/src/replyauthorization.yaml @@ -0,0 +1,39 @@ +$schema: ../../vocab-tools/schema.yaml +name: ReplyAuthorization +compactName: ReplyAuthorization +uri: "https://gotosocial.org/ns#ReplyAuthorization" +extends: "https://www.w3.org/ns/activitystreams#Object" +entity: true +description: | + Proves that a reply interaction has been approved by the post author. + + This object is dereferenceable and is used by third parties to verify + that a reply was authorized. The `attributedTo` property identifies + the post author who granted the approval. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: +- "https://www.w3.org/ns/activitystreams" +- "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" + +properties: +- singularName: interactingObject + functional: true + compactName: interactingObject + uri: "https://gotosocial.org/ns#interactingObject" + description: | + The URI of the reply object (e.g., a {@link Note}) that has been + authorized. + range: + - "https://www.w3.org/ns/activitystreams#Object" + +- singularName: interactionTarget + functional: true + compactName: interactionTarget + uri: "https://gotosocial.org/ns#interactionTarget" + description: | + The URI of the post that is the target of the authorized reply. + range: + - "https://www.w3.org/ns/activitystreams#Object" diff --git a/packages/vocab/src/replyrequest.yaml b/packages/vocab/src/replyrequest.yaml new file mode 100644 index 000000000..a25730060 --- /dev/null +++ b/packages/vocab/src/replyrequest.yaml @@ -0,0 +1,23 @@ +$schema: ../../vocab-tools/schema.yaml +name: ReplyRequest +compactName: ReplyRequest +uri: "https://gotosocial.org/ns#ReplyRequest" +extends: "https://www.w3.org/ns/activitystreams#Activity" +entity: true +description: | + A request to reply to a post that requires approval from the post author. + + The `object` property references the post to be replied to, and + the `instrument` property contains the reply itself (e.g., a {@link Note}). + + The post author responds with an {@link Accept} (with a + {@link ReplyAuthorization} as `result`) or a {@link Reject}. + + See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + for details. +defaultContext: +- "https://w3id.org/identity/v1" +- "https://www.w3.org/ns/activitystreams" +- "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" +properties: [] diff --git a/packages/vocab/src/service.yaml b/packages/vocab/src/service.yaml index 52f00ca90..465bae007 100644 --- a/packages/vocab/src/service.yaml +++ b/packages/vocab/src/service.yaml @@ -11,6 +11,7 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" - alsoKnownAs: "@id": "as:alsoKnownAs" "@type": "@id" diff --git a/packages/vocab/src/tentativeaccept.yaml b/packages/vocab/src/tentativeaccept.yaml index f0bc798b3..c68590a30 100644 --- a/packages/vocab/src/tentativeaccept.yaml +++ b/packages/vocab/src/tentativeaccept.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/tentativereject.yaml b/packages/vocab/src/tentativereject.yaml index 6d29b0186..066a0f0bb 100644 --- a/packages/vocab/src/tentativereject.yaml +++ b/packages/vocab/src/tentativereject.yaml @@ -11,4 +11,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/tombstone.yaml b/packages/vocab/src/tombstone.yaml index 573c71beb..5a4a577d2 100644 --- a/packages/vocab/src/tombstone.yaml +++ b/packages/vocab/src/tombstone.yaml @@ -11,6 +11,7 @@ description: | defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: - singularName: deleted diff --git a/packages/vocab/src/travel.yaml b/packages/vocab/src/travel.yaml index cc451d7c6..6c08edea7 100644 --- a/packages/vocab/src/travel.yaml +++ b/packages/vocab/src/travel.yaml @@ -13,4 +13,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/undo.yaml b/packages/vocab/src/undo.yaml index 14d60ee1c..226662608 100644 --- a/packages/vocab/src/undo.yaml +++ b/packages/vocab/src/undo.yaml @@ -19,6 +19,7 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" - litepub: "http://litepub.social/ns#" toot: "http://joinmastodon.org/ns#" EmojiReact: "litepub:EmojiReact" diff --git a/packages/vocab/src/update.yaml b/packages/vocab/src/update.yaml index 07683edfa..63c3015ee 100644 --- a/packages/vocab/src/update.yaml +++ b/packages/vocab/src/update.yaml @@ -17,6 +17,7 @@ defaultContext: - "https://w3id.org/security/data-integrity/v1" - "https://www.w3.org/ns/did/v1" - "https://w3id.org/security/multikey/v1" +- "https://gotosocial.org/ns" - alsoKnownAs: "@id": "as:alsoKnownAs" "@type": "@id" diff --git a/packages/vocab/src/video.yaml b/packages/vocab/src/video.yaml index f9fc74045..ace9634f1 100644 --- a/packages/vocab/src/video.yaml +++ b/packages/vocab/src/video.yaml @@ -8,4 +8,5 @@ description: Represents a video document of any kind. defaultContext: - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/view.yaml b/packages/vocab/src/view.yaml index 2778acbe2..91a1b642b 100644 --- a/packages/vocab/src/view.yaml +++ b/packages/vocab/src/view.yaml @@ -10,4 +10,5 @@ defaultContext: - "https://w3id.org/identity/v1" - "https://www.w3.org/ns/activitystreams" - "https://w3id.org/security/data-integrity/v1" +- "https://gotosocial.org/ns" properties: [] diff --git a/packages/vocab/src/vocab.test.ts b/packages/vocab/src/vocab.test.ts index 16d0239d0..2105402c3 100644 --- a/packages/vocab/src/vocab.test.ts +++ b/packages/vocab/src/vocab.test.ts @@ -213,6 +213,7 @@ test("Object.toJsonLd()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { fedibird: "http://fedibird.com/ns#", sensitive: "as:sensitive", @@ -244,6 +245,7 @@ test("Note.toJsonLd()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { Emoji: "toot:Emoji", Hashtag: "as:Hashtag", @@ -387,6 +389,7 @@ test({ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", ], type: "Activity", object: { @@ -620,6 +623,7 @@ test("Person.toJsonLd()", async () => { "https://w3id.org/security/data-integrity/v1", "https://www.w3.org/ns/did/v1", "https://w3id.org/security/multikey/v1", + "https://gotosocial.org/ns", { PropertyValue: "schema:PropertyValue", alsoKnownAs: { @@ -1067,6 +1071,7 @@ test("Note.quoteUrl", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", { Emoji: "toot:Emoji", Hashtag: "as:Hashtag", @@ -1206,6 +1211,7 @@ test("Place.fromJsonLd()", async () => { "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", + "https://gotosocial.org/ns", ], type: "Place", name: "Fresno Area", @@ -2288,7 +2294,7 @@ for (const typeUri in types) { contextLoader: mockDocumentLoader, }); deepStrictEqual(jsonLd["@context"], type.defaultContext); - deepStrictEqual(jsonLd.id, "https://example.com/"); + if (type.entity) deepStrictEqual(jsonLd.id, "https://example.com/"); const restored = await cls.fromJsonLd(jsonLd, { documentLoader: mockDocumentLoader, contextLoader: mockDocumentLoader, From 1cc4d9972afd17f318f32619d883e078751070a6 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Sun, 15 Mar 2026 01:05:29 +0900 Subject: [PATCH 3/5] Document GoToSocial interaction controls vocabulary in CHANGES.md Add changelog entries for the new vocabulary types and properties added for GoToSocial interaction controls (issue #453), under both the @fedify/vocab and @fedify/vocab-runtime package sections. Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGES.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index c1c744b8f..c7fac89c3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -41,12 +41,23 @@ To be released. ### @fedify/vocab-runtime + - Updated the preloaded JSON-LD context to + match the current [GoToSocial] v0.21+ namespace, adding new type terms + (`LikeRequest`, `LikeAuthorization`, etc.) and property terms + (`automaticApproval`, `manualApproval`, `interactingObject`, etc.) while + retaining deprecated terms (`always`, `approvalRequired`) for backward + compatibility. [[#453], [#622]] + - Added optional `FetchError.response` so callers can inspect the original failed HTTP response when remote document or key fetches return an HTTP error (such as `404 Not Found` or `410 Gone`). This enables higher-level APIs to distinguish transport failures from specific HTTP fetch failures. [[#611]] +[GoToSocial]: https://gotosocial.org/ +[#453]: https://github.com/fedify-dev/fedify/issues/453 +[#622]: https://github.com/fedify-dev/fedify/pull/622 + ### @fedify/cli - Added `--reverse` option to `fedify lookup` to reverse presentation order @@ -81,6 +92,20 @@ To be released. ### @fedify/vocab + - Added [GoToSocial] interaction controls vocabulary for expressing who + can like, reply to, or announce posts and for approving interactions. + [[#453], [#622]] + + - Added `InteractionPolicy` and `InteractionRule` typeless value + classes. + - Added `LikeRequest`, `ReplyRequest`, and `AnnounceRequest` activity + types for requesting interaction approval. + - Added `LikeAuthorization`, `ReplyAuthorization`, and + `AnnounceAuthorization` types for proving approved interactions. + - Added `Object.interactionPolicy`, `Object.approvedBy`, + `Object.likeAuthorization`, `Object.replyAuthorization`, and + `Object.announceAuthorization` properties. + - Fixed `Endpoints.toJsonLd()` to no longer emit invalid `"type": "as:Endpoints"` in the serialized JSON-LD. The `as:Endpoints` type does not exist in the ActivityStreams vocabulary, and its presence From ff7ce5b314ebe485665b4672c733502355dcab01 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Sun, 15 Mar 2026 01:48:02 +0900 Subject: [PATCH 4/5] Upgrade Deno to 2.7.5 --- .github/actions/setup-deno/action.yaml | 2 +- examples/fresh/deno.json | 3 ++- mise.toml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup-deno/action.yaml b/.github/actions/setup-deno/action.yaml index 6c6f30b6a..71a6be0ff 100644 --- a/.github/actions/setup-deno/action.yaml +++ b/.github/actions/setup-deno/action.yaml @@ -6,4 +6,4 @@ runs: steps: - uses: denoland/setup-deno@v2 with: - deno-version: 2.7.1 # Keep in sync with mise.toml + deno-version: 2.7.5 # Keep in sync with mise.toml diff --git a/examples/fresh/deno.json b/examples/fresh/deno.json index 6a735b6c4..8d8c7c4a7 100644 --- a/examples/fresh/deno.json +++ b/examples/fresh/deno.json @@ -31,7 +31,8 @@ "dom.asynciterable", "dom.iterable", "deno.ns", - "deno.unstable" + "deno.unstable", + "deno.temporal" ], "jsx": "precompile", "jsxImportSource": "preact", diff --git a/mise.toml b/mise.toml index 78df8c729..fd4dce58b 100644 --- a/mise.toml +++ b/mise.toml @@ -1,6 +1,6 @@ [tools] bun = "1.2.22" -deno = "2.7.1" +deno = "2.7.5" node = "22" pnpm = "10.28.0" From b986cd6c334081d5d0599dc5b5ca4902a8407e17 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Sun, 15 Mar 2026 18:01:16 +0900 Subject: [PATCH 5/5] Change authorization properties to non-scalar range types Change likeAuthorization, replyAuthorization, and announceAuthorization properties on Object from anyURI (scalar) to their corresponding Authorization types (non-scalar), enabling dereferencing accessors (e.g., Object.getLikeAuthorization()). Also fix the LikeAuthorization alias in the preloaded GTS context to map to the actual type URI (gts:LikeApproval), and update the context entry order to match the upstream GoToSocial namespace. Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGES.md | 5 +- packages/vocab-runtime/src/contexts.ts | 72 +- .../src/__snapshots__/class.test.ts.deno.snap | 1433 ++++++++++++----- .../src/__snapshots__/class.test.ts.node.snap | 1433 ++++++++++++----- .../src/__snapshots__/class.test.ts.snap | 1433 ++++++++++++----- .../src/__snapshots__/vocab.test.ts.snap | 732 ++++----- packages/vocab/src/object.yaml | 18 +- 7 files changed, 3495 insertions(+), 1631 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index c7fac89c3..6ca206c5b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -103,8 +103,9 @@ To be released. - Added `LikeAuthorization`, `ReplyAuthorization`, and `AnnounceAuthorization` types for proving approved interactions. - Added `Object.interactionPolicy`, `Object.approvedBy`, - `Object.likeAuthorization`, `Object.replyAuthorization`, and - `Object.announceAuthorization` properties. + `Object.getLikeAuthorization()`/`Object.likeAuthorizationId`, + `Object.getReplyAuthorization()`/`Object.replyAuthorizationId`, and + `Object.getAnnounceAuthorization()`/`Object.announceAuthorizationId`. - Fixed `Endpoints.toJsonLd()` to no longer emit invalid `"type": "as:Endpoints"` in the serialized JSON-LD. The `as:Endpoints` diff --git a/packages/vocab-runtime/src/contexts.ts b/packages/vocab-runtime/src/contexts.ts index 37a440a3d..2ba365680 100644 --- a/packages/vocab-runtime/src/contexts.ts +++ b/packages/vocab-runtime/src/contexts.ts @@ -4252,37 +4252,25 @@ const preloadedContexts: Record = { "LikeRequest": "gts:LikeRequest", "ReplyRequest": "gts:ReplyRequest", "AnnounceRequest": "gts:AnnounceRequest", - "LikeAuthorization": "gts:LikeAuthorization", + "QuoteRequest": "gts:QuoteRequest", + "LikeAuthorization": "gts:LikeApproval", "ReplyAuthorization": "gts:ReplyAuthorization", "AnnounceAuthorization": "gts:AnnounceAuthorization", - "QuoteRequest": "gts:QuoteRequest", "QuoteAuthorization": "gts:QuoteAuthorization", - "interactionPolicy": { - "@id": "gts:interactionPolicy", - "@type": "@id", - }, - "canLike": { - "@id": "gts:canLike", - "@type": "@id", - }, - "canReply": { - "@id": "gts:canReply", - "@type": "@id", - }, - "canAnnounce": { - "@id": "gts:canAnnounce", + "likeAuthorization": { + "@id": "gts:likeAuthorization", "@type": "@id", }, - "canQuote": { - "@id": "gts:canQuote", + "replyAuthorization": { + "@id": "gts:replyAuthorization", "@type": "@id", }, - "automaticApproval": { - "@id": "gts:automaticApproval", + "announceAuthorization": { + "@id": "gts:announceAuthorization", "@type": "@id", }, - "manualApproval": { - "@id": "gts:manualApproval", + "quoteAuthorization": { + "@id": "gts:quoteAuthorization", "@type": "@id", }, "interactingObject": { @@ -4293,32 +4281,32 @@ const preloadedContexts: Record = { "@id": "gts:interactionTarget", "@type": "@id", }, - "likeAuthorization": { - "@id": "gts:likeAuthorization", + "interactionPolicy": { + "@id": "gts:interactionPolicy", "@type": "@id", }, - "replyAuthorization": { - "@id": "gts:replyAuthorization", + "canLike": { + "@id": "gts:canLike", "@type": "@id", }, - "announceAuthorization": { - "@id": "gts:announceAuthorization", + "canReply": { + "@id": "gts:canReply", "@type": "@id", }, - "quoteAuthorization": { - "@id": "gts:quoteAuthorization", + "canAnnounce": { + "@id": "gts:canAnnounce", "@type": "@id", }, - "approvedBy": { - "@id": "gts:approvedBy", + "canQuote": { + "@id": "gts:canQuote", "@type": "@id", }, - "approvalRequired": { - "@id": "gts:approvalRequired", + "automaticApproval": { + "@id": "gts:automaticApproval", "@type": "@id", }, - "always": { - "@id": "gts:always", + "manualApproval": { + "@id": "gts:manualApproval", "@type": "@id", }, "hidesToPublicFromUnauthedWeb": { @@ -4329,6 +4317,18 @@ const preloadedContexts: Record = { "@id": "gts:hidesCcPublicFromUnauthedWeb", "@type": "xsd:boolean", }, + "always": { + "@id": "gts:always", + "@type": "@id", + }, + "approvalRequired": { + "@id": "gts:approvalRequired", + "@type": "@id", + }, + "approvedBy": { + "@id": "gts:approvedBy", + "@type": "@id", + }, }, }, "https://w3id.org/fep/5711": { diff --git a/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap b/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap index 63770175f..a5717ccc0 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap @@ -149,10 +149,16 @@ export class Object { #_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: Set = new Set(); #_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; #_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; -#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; -#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; -#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + #_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (LikeAuthorization | URL)[] = []; + #_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: Set = new Set(); + + #_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (ReplyAuthorization | URL)[] = []; + #_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: Set = new Set(); + + #_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; + #_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); + /** * Constructs a new instance of Object with the given values. * @param values The values to initialize the instance with. @@ -178,7 +184,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -1086,40 +1092,40 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { - if (values.likeAuthorization instanceof URL) { + if (values.likeAuthorization instanceof LikeAuthorization || values.likeAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; - + this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.add(0); } else { throw new TypeError( \\"The likeAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"LikeAuthorization | URL\\" + \\".\\", ); } } if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { - if (values.replyAuthorization instanceof URL) { + if (values.replyAuthorization instanceof ReplyAuthorization || values.replyAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; - + this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.add(0); } else { throw new TypeError( \\"The replyAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"ReplyAuthorization | URL\\" + \\".\\", ); } } if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { - if (values.announceAuthorization instanceof URL) { + if (values.announceAuthorization instanceof AnnounceAuthorization || values.announceAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; - + this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.add(0); } else { throw new TypeError( \\"The announceAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"AnnounceAuthorization | URL\\" + \\".\\", ); } } @@ -1151,7 +1157,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -2071,42 +2077,42 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } - clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization;clone.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = new Set(this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization); if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { - if (values.likeAuthorization instanceof URL) { + if (values.likeAuthorization instanceof LikeAuthorization || values.likeAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; - + clone.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = new Set([0]); } else { throw new TypeError( \\"The likeAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"LikeAuthorization | URL\\" + \\".\\", ); } } - clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization;clone.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = new Set(this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization); if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { - if (values.replyAuthorization instanceof URL) { + if (values.replyAuthorization instanceof ReplyAuthorization || values.replyAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; - + clone.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = new Set([0]); } else { throw new TypeError( \\"The replyAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"ReplyAuthorization | URL\\" + \\".\\", ); } } - clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization;clone.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = new Set(this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization); if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { - if (values.announceAuthorization instanceof URL) { + if (values.announceAuthorization instanceof AnnounceAuthorization || values.announceAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; - + clone.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = new Set([0]); } else { throw new TypeError( \\"The announceAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"AnnounceAuthorization | URL\\" + \\".\\", ); } } @@ -7726,7 +7732,788 @@ get urls(): ((URL | Link))[] { }); } - async #proof_fromJsonLd( + async #proof_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await DataIntegrityProof.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://w3id.org/security#DataIntegrityProof\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link Object.getProof}, + * but returns its \`@id\` URL instead of the object itself. + */ + get proofId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; + const v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A cryptographic proof that can be used to verify the integrity of an object. + * + */ + + async getProof( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; + let v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchProof(v, options); + if (fetched == null) return null; + this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0] = fetched; + this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"proof\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"proof\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#proof_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Similar to + * {@link Object.getProofs}, + * but returns their \`@id\`s instead of the objects themselves. + */ + get proofIds(): URL[] { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + return this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.map((v) => + v instanceof URL ? v : v.id! + ).filter(id => id !== null); + } + +/** A cryptographic proof that can be used to verify the integrity of an object. + * + */ + + async* getProofs( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): AsyncIterable { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + const vs = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; + for (let i = 0; i < vs.length; i++) { + let v = vs[i]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(i)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchProof(v, options); + if (fetched == null) continue; + vs[i] = fetched; + this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(i); + this._cachedJsonLd = undefined; + yield fetched; + continue; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"proof\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"proof\\"]; + const obj = Array.isArray(prop) ? prop[i] : prop; + if (obj != null && typeof obj === \\"object\\" && \\"@context\\" in obj) { + v = await this.#proof_fromJsonLd(obj, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin \\" + + 'option to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + continue; + } + yield v; + } + } + +/** The interaction policy for this object, specifying who can like, reply to, + * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, + * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` + * lists. + * + * When absent, implementations should assume anyone can interact with + * the object. Setting this property signals that the server understands + * and will enforce interaction controls. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ + get interactionPolicy(): (InteractionPolicy | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; + return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + +/** A URI referencing an authorization object that proves this interaction + * was approved by the target post's author. + * + */ + get approvedBy(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; + return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + + async #fetchLikeAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#likeAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #likeAuthorization_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await LikeAuthorization.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://gotosocial.org/ns#LikeApproval\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link Object.getLikeAuthorization}, + * but returns its \`@id\` URL instead of the object itself. + */ + get likeAuthorizationId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + const v = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A {@link LikeAuthorization} object that proves this like interaction + * was approved by the target post's author. + * + */ + + async getLikeAuthorization( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + let v = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchLikeAuthorization(v, options); + if (fetched == null) return null; + this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0] = fetched; + this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"likeAuthorization\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"likeAuthorization\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#likeAuthorization_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchReplyAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#replyAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #replyAuthorization_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await ReplyAuthorization.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://gotosocial.org/ns#ReplyAuthorization\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link Object.getReplyAuthorization}, + * but returns its \`@id\` URL instead of the object itself. + */ + get replyAuthorizationId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + const v = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A {@link ReplyAuthorization} object that proves this reply was approved + * by the target post's author. + * + */ + + async getReplyAuthorization( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + let v = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchReplyAuthorization(v, options); + if (fetched == null) return null; + this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0] = fetched; + this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"replyAuthorization\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"replyAuthorization\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#replyAuthorization_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchAnnounceAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#announceAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #announceAuthorization_fromJsonLd( jsonLd: unknown, options: { documentLoader?: DocumentLoader, @@ -7734,7 +8521,7 @@ get urls(): ((URL | Link))[] { tracerProvider?: TracerProvider, baseUrl?: URL } - ): Promise { + ): Promise { const documentLoader = options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); const contextLoader = @@ -7744,7 +8531,7 @@ get urls(): ((URL | Link))[] { const baseUrl = options.baseUrl; try { - return await DataIntegrityProof.fromJsonLd( + return await AnnounceAuthorization.fromJsonLd( jsonLd, { documentLoader, contextLoader, tracerProvider, baseUrl }, ); @@ -7753,33 +8540,34 @@ get urls(): ((URL | Link))[] { } throw new TypeError(\\"Expected an object of any type of: \\" + - [\\"https://w3id.org/security#DataIntegrityProof\\"].join(\\", \\")); + [\\"https://gotosocial.org/ns#AnnounceAuthorization\\"].join(\\", \\")); } /** * Similar to - * {@link Object.getProof}, + * {@link Object.getAnnounceAuthorization}, * but returns its \`@id\` URL instead of the object itself. */ - get proofId(): URL | null { + get announceAuthorizationId(): URL | null { if (this._warning != null) { getLogger(this._warning.category).warn( this._warning.message, this._warning.values ); } - if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; - const v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + const v = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; if (v instanceof URL) return v; return v.id; } -/** A cryptographic proof that can be used to verify the integrity of an object. +/** An {@link AnnounceAuthorization} object that proves this announce + * (boost) was approved by the target post's author. * */ - async getProof( + async getAnnounceAuthorization( options: { documentLoader?: DocumentLoader, contextLoader?: DocumentLoader, @@ -7787,26 +8575,26 @@ get urls(): ((URL | Link))[] { tracerProvider?: TracerProvider, crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; } = {} - ): Promise { + ): Promise { if (this._warning != null) { getLogger(this._warning.category).warn( this._warning.message, this._warning.values ); } - if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; - let v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + let v = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && v.id != null && v.id.origin !== this.id?.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + !this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.has(0)) { v = v.id; } if (v instanceof URL) { const fetched = - await this.#fetchProof(v, options); + await this.#fetchAnnounceAuthorization(v, options); if (fetched == null) return null; - this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0] = fetched; - this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(0); + this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0] = fetched; + this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.add(0); this._cachedJsonLd = undefined; return fetched; } @@ -7815,19 +8603,19 @@ get urls(): ((URL | Link))[] { this._cachedJsonLd != null && typeof this._cachedJsonLd === \\"object\\" && \\"@context\\" in this._cachedJsonLd && - \\"proof\\" in this._cachedJsonLd + \\"announceAuthorization\\" in this._cachedJsonLd ) { const prop = this._cachedJsonLd[ - \\"proof\\"]; + \\"announceAuthorization\\"]; const doc = Array.isArray(prop) ? prop[0] : prop; if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { - v = await this.#proof_fromJsonLd(doc, options); + v = await this.#announceAuthorization_fromJsonLd(doc, options); } } if (options.crossOrigin !== \\"trust\\" && v?.id != null && this.id != null && v.id.origin !== this.id.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + !this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.has(0)) { if (options.crossOrigin === \\"throw\\") { throw new Error( \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + @@ -7850,185 +8638,6 @@ get urls(): ((URL | Link))[] { return v; } - /** - * Similar to - * {@link Object.getProofs}, - * but returns their \`@id\`s instead of the objects themselves. - */ - get proofIds(): URL[] { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - return this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.map((v) => - v instanceof URL ? v : v.id! - ).filter(id => id !== null); - } - -/** A cryptographic proof that can be used to verify the integrity of an object. - * - */ - - async* getProofs( - options: { - documentLoader?: DocumentLoader, - contextLoader?: DocumentLoader, - suppressError?: boolean, - tracerProvider?: TracerProvider, - crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; - } = {} - ): AsyncIterable { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - const vs = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; - for (let i = 0; i < vs.length; i++) { - let v = vs[i]; - if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && - v.id != null && v.id.origin !== this.id?.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(i)) { - v = v.id; - } - if (v instanceof URL) { - const fetched = - await this.#fetchProof(v, options); - if (fetched == null) continue; - vs[i] = fetched; - this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(i); - this._cachedJsonLd = undefined; - yield fetched; - continue; - } - - if ( - this._cachedJsonLd != null && - typeof this._cachedJsonLd === \\"object\\" && - \\"@context\\" in this._cachedJsonLd && - \\"proof\\" in this._cachedJsonLd - ) { - const prop = this._cachedJsonLd[ - \\"proof\\"]; - const obj = Array.isArray(prop) ? prop[i] : prop; - if (obj != null && typeof obj === \\"object\\" && \\"@context\\" in obj) { - v = await this.#proof_fromJsonLd(obj, options); - } - } - - if (options.crossOrigin !== \\"trust\\" && v?.id != null && - this.id != null && v.id.origin !== this.id.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { - if (options.crossOrigin === \\"throw\\") { - throw new Error( - \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + - \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + - \\"refusing to return the object. If you want to bypass this \\" + - \\"check and are aware of the security implications, set the \\" + - 'crossOrigin option to \\"trust\\".' - ); - } - getLogger([\\"fedify\\", \\"vocab\\"]).warn( - \\"The property object's @id ({objectId}) has a different origin \\" + - \\"than the property owner's @id ({parentObjectId}); refusing to \\" + - \\"return the object. If you want to bypass this check and are \\" + - \\"aware of the security implications, set the crossOrigin \\" + - 'option to \\"trust\\".', - { objectId: v.id.href, parentObjectId: this.id.href }, - ); - continue; - } - yield v; - } - } - -/** The interaction policy for this object, specifying who can like, reply to, - * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, - * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` - * lists. - * - * When absent, implementations should assume anyone can interact with - * the object. Setting this property signals that the server understands - * and will enforce interaction controls. - * - * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) - * for details. - * - */ - get interactionPolicy(): (InteractionPolicy | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; - return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; - } - -/** A URI referencing an authorization object that proves this interaction - * was approved by the target post's author. - * - */ - get approvedBy(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; - return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; - } - -/** A URI referencing a {@link LikeAuthorization} object that proves - * this like interaction was approved by the target post's author. - * - */ - get likeAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; - return this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; - } - -/** A URI referencing a {@link ReplyAuthorization} object that proves - * this reply was approved by the target post's author. - * - */ - get replyAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; - return this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; - } - -/** A URI referencing an {@link AnnounceAuthorization} object that proves - * this announce (boost) was approved by the target post's author. - * - */ - get announceAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; - return this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; - } - /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -8759,7 +9368,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -8775,7 +9388,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -8791,7 +9408,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -9350,7 +9971,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { const element = ( - { \\"@id\\": v.href } + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -9365,7 +9986,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { const element = ( - { \\"@id\\": v.href } + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -9380,7 +10001,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { const element = ( - { \\"@id\\": v.href } + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -10815,8 +11436,10 @@ get urls(): ((URL | Link))[] { : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) } instance.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; - const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; - + + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (LikeAuthorization | URL)[] = []; + const _trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: Set = new Set(); + let _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array = values[\\"https://gotosocial.org/ns#likeAuthorization\\"]; for ( @@ -10827,26 +11450,26 @@ get urls(): ((URL | Link))[] { : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array ) { if (v == null) continue; - _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") - ? new URL(\\"at://\\" + - encodeURIComponent( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) - : v[\\"@id\\"].slice(5) - ) + - ( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) - : \\"\\" - ) - ) - : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) - ? new URL(v[\\"@id\\"]) - : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(await LikeAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } instance.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; - const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; - + + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (ReplyAuthorization | URL)[] = []; + const _trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: Set = new Set(); + let _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array = values[\\"https://gotosocial.org/ns#replyAuthorization\\"]; for ( @@ -10857,26 +11480,26 @@ get urls(): ((URL | Link))[] { : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array ) { if (v == null) continue; - _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") - ? new URL(\\"at://\\" + - encodeURIComponent( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) - : v[\\"@id\\"].slice(5) - ) + - ( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) - : \\"\\" - ) - ) - : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) - ? new URL(v[\\"@id\\"]) - : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(await ReplyAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } instance.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; - const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; - + + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; + const _trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); + let _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array = values[\\"https://gotosocial.org/ns#announceAuthorization\\"]; for ( @@ -10887,22 +11510,20 @@ get urls(): ((URL | Link))[] { : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array ) { if (v == null) continue; - _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") - ? new URL(\\"at://\\" + - encodeURIComponent( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) - : v[\\"@id\\"].slice(5) - ) + - ( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) - : \\"\\" - ) - ) - : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) - ? new URL(v[\\"@id\\"]) - : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(await AnnounceAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } instance.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; @@ -11843,7 +12464,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11879,7 +12500,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -12186,7 +12807,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -12235,7 +12856,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -12683,7 +13304,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -12965,7 +13586,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16009,7 +16630,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16051,7 +16672,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16957,7 +17578,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -17019,7 +17640,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -17958,7 +18579,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -18000,7 +18621,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19650,7 +20271,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -19712,7 +20333,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -20650,7 +21271,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20692,7 +21313,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20996,7 +21617,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -21058,7 +21679,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -21996,7 +22617,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -22038,7 +22659,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25887,7 +26508,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25929,7 +26550,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26227,7 +26848,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26269,7 +26890,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26562,7 +27183,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26604,7 +27225,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26942,7 +27563,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -27406,7 +28027,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -33487,7 +34108,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33529,7 +34150,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33834,7 +34455,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33876,7 +34497,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -34167,7 +34788,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34216,7 +34837,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -34643,7 +35264,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -34705,7 +35326,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -35216,7 +35837,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -35252,7 +35873,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -35555,7 +36176,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35597,7 +36218,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35895,7 +36516,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35937,7 +36558,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36269,7 +36890,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -36480,7 +37101,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} = {}, options: { @@ -40700,7 +41321,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -40775,7 +41396,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} = {}, options: { @@ -42019,7 +42640,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42061,7 +42682,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42353,7 +42974,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42395,7 +43016,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42685,7 +43306,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42727,7 +43348,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44121,7 +44742,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -44157,7 +44778,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -44461,7 +45082,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44503,7 +45124,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44797,7 +45418,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44839,7 +45460,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -45177,7 +45798,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -45641,7 +46262,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -53685,7 +54306,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -53721,7 +54342,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -54025,7 +54646,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54067,7 +54688,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54363,7 +54984,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54405,7 +55026,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54697,7 +55318,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54739,7 +55360,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55031,7 +55652,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55073,7 +55694,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55365,7 +55986,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55407,7 +56028,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55697,7 +56318,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55739,7 +56360,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56330,7 +56951,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56372,7 +56993,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56665,7 +57286,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -56714,7 +57335,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -57144,7 +57765,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} , options: { documentLoader?: DocumentLoader, @@ -57199,7 +57820,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} = {}, options: { @@ -57855,7 +58476,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -57923,7 +58544,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} = {}, options: { @@ -58717,7 +59338,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -59181,7 +59802,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -65259,7 +65880,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -65295,7 +65916,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -65644,7 +66265,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -66108,7 +66729,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -72195,7 +72816,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -72309,7 +72930,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} = {}, options: { @@ -73221,7 +73842,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -73270,7 +73891,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;describes?: Object | URL | null;} = {}, options: { @@ -73902,7 +74523,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -74021,7 +74642,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75200,7 +75821,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75242,7 +75863,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75534,7 +76155,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75576,7 +76197,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75886,7 +76507,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -76017,7 +76638,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -77526,7 +78147,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -77568,7 +78189,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -77906,7 +78527,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -78370,7 +78991,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -85091,7 +85712,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85133,7 +85754,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85425,7 +86046,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85467,7 +86088,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85761,7 +86382,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;deleted?: Temporal.Instant | null;} , options: { documentLoader?: DocumentLoader, @@ -85810,7 +86431,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;deleted?: Temporal.Instant | null;} = {}, options: { @@ -86216,7 +86837,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86258,7 +86879,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86555,7 +87176,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86597,7 +87218,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86892,7 +87513,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86934,7 +87555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -87224,7 +87845,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -87260,7 +87881,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -87562,7 +88183,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -87604,7 +88225,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; diff --git a/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap b/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap index b3af51640..a429a2385 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap @@ -147,10 +147,16 @@ export class Object { #_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: Set = new Set(); #_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; #_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; -#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; -#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; -#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + #_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (LikeAuthorization | URL)[] = []; + #_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: Set = new Set(); + + #_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (ReplyAuthorization | URL)[] = []; + #_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: Set = new Set(); + + #_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; + #_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); + /** * Constructs a new instance of Object with the given values. * @param values The values to initialize the instance with. @@ -176,7 +182,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -1084,40 +1090,40 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { - if (values.likeAuthorization instanceof URL) { + if (values.likeAuthorization instanceof LikeAuthorization || values.likeAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; - + this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.add(0); } else { throw new TypeError( \\"The likeAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"LikeAuthorization | URL\\" + \\".\\", ); } } if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { - if (values.replyAuthorization instanceof URL) { + if (values.replyAuthorization instanceof ReplyAuthorization || values.replyAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; - + this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.add(0); } else { throw new TypeError( \\"The replyAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"ReplyAuthorization | URL\\" + \\".\\", ); } } if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { - if (values.announceAuthorization instanceof URL) { + if (values.announceAuthorization instanceof AnnounceAuthorization || values.announceAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; - + this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.add(0); } else { throw new TypeError( \\"The announceAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"AnnounceAuthorization | URL\\" + \\".\\", ); } } @@ -1149,7 +1155,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -2069,42 +2075,42 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } - clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization;clone.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = new Set(this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization); if (\\"likeAuthorization\\" in values && values.likeAuthorization != null) { - if (values.likeAuthorization instanceof URL) { + if (values.likeAuthorization instanceof LikeAuthorization || values.likeAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; - + clone.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = new Set([0]); } else { throw new TypeError( \\"The likeAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"LikeAuthorization | URL\\" + \\".\\", ); } } - clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization;clone.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = new Set(this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization); if (\\"replyAuthorization\\" in values && values.replyAuthorization != null) { - if (values.replyAuthorization instanceof URL) { + if (values.replyAuthorization instanceof ReplyAuthorization || values.replyAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; - + clone.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = new Set([0]); } else { throw new TypeError( \\"The replyAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"ReplyAuthorization | URL\\" + \\".\\", ); } } - clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization;clone.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = new Set(this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization); if (\\"announceAuthorization\\" in values && values.announceAuthorization != null) { - if (values.announceAuthorization instanceof URL) { + if (values.announceAuthorization instanceof AnnounceAuthorization || values.announceAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; - + clone.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = new Set([0]); } else { throw new TypeError( \\"The announceAuthorization must be of type \\" + - \\"URL\\" + \\".\\", + \\"AnnounceAuthorization | URL\\" + \\".\\", ); } } @@ -7724,7 +7730,788 @@ get urls(): ((URL | Link))[] { }); } - async #proof_fromJsonLd( + async #proof_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await DataIntegrityProof.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://w3id.org/security#DataIntegrityProof\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link Object.getProof}, + * but returns its \`@id\` URL instead of the object itself. + */ + get proofId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; + const v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A cryptographic proof that can be used to verify the integrity of an object. + * + */ + + async getProof( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; + let v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchProof(v, options); + if (fetched == null) return null; + this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0] = fetched; + this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"proof\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"proof\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#proof_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Similar to + * {@link Object.getProofs}, + * but returns their \`@id\`s instead of the objects themselves. + */ + get proofIds(): URL[] { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + return this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.map((v) => + v instanceof URL ? v : v.id! + ).filter(id => id !== null); + } + +/** A cryptographic proof that can be used to verify the integrity of an object. + * + */ + + async* getProofs( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): AsyncIterable { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + const vs = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; + for (let i = 0; i < vs.length; i++) { + let v = vs[i]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(i)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchProof(v, options); + if (fetched == null) continue; + vs[i] = fetched; + this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(i); + this._cachedJsonLd = undefined; + yield fetched; + continue; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"proof\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"proof\\"]; + const obj = Array.isArray(prop) ? prop[i] : prop; + if (obj != null && typeof obj === \\"object\\" && \\"@context\\" in obj) { + v = await this.#proof_fromJsonLd(obj, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin \\" + + 'option to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + continue; + } + yield v; + } + } + +/** The interaction policy for this object, specifying who can like, reply to, + * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, + * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` + * lists. + * + * When absent, implementations should assume anyone can interact with + * the object. Setting this property signals that the server understands + * and will enforce interaction controls. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ + get interactionPolicy(): (InteractionPolicy | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; + return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + +/** A URI referencing an authorization object that proves this interaction + * was approved by the target post's author. + * + */ + get approvedBy(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; + return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + + async #fetchLikeAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#likeAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #likeAuthorization_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await LikeAuthorization.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://gotosocial.org/ns#LikeApproval\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link Object.getLikeAuthorization}, + * but returns its \`@id\` URL instead of the object itself. + */ + get likeAuthorizationId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + const v = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A {@link LikeAuthorization} object that proves this like interaction + * was approved by the target post's author. + * + */ + + async getLikeAuthorization( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + let v = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchLikeAuthorization(v, options); + if (fetched == null) return null; + this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0] = fetched; + this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"likeAuthorization\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"likeAuthorization\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#likeAuthorization_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchReplyAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#replyAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #replyAuthorization_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await ReplyAuthorization.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError(\\"Expected an object of any type of: \\" + + [\\"https://gotosocial.org/ns#ReplyAuthorization\\"].join(\\", \\")); + } + + + /** + * Similar to + * {@link Object.getReplyAuthorization}, + * but returns its \`@id\` URL instead of the object itself. + */ + get replyAuthorizationId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + const v = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A {@link ReplyAuthorization} object that proves this reply was approved + * by the target post's author. + * + */ + + async getReplyAuthorization( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + let v = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchReplyAuthorization(v, options); + if (fetched == null) return null; + this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0] = fetched; + this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === \\"object\\" && + \\"@context\\" in this._cachedJsonLd && + \\"replyAuthorization\\" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + \\"replyAuthorization\\"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { + v = await this.#replyAuthorization_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== \\"trust\\" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.has(0)) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + + \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + + \\"refusing to return the object. If you want to bypass this \\" + + \\"check and are aware of the security implications, set the \\" + + 'crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The property object's @id ({objectId}) has a different origin \\" + + \\"than the property owner's @id ({parentObjectId}); refusing to \\" + + \\"return the object. If you want to bypass this check and are \\" + + \\"aware of the security implications, set the crossOrigin option \\" + + 'to \\"trust\\".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchAnnounceAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + \\"@fedify/vocab-tools\\", + \\"0.0.0\\", + ); + return await tracer.startActiveSpan(\\"activitypub.lookup_object\\", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to fetch {url}: {error}\\", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#announceAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== \\"trust\\" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === \\"throw\\") { + throw new Error( + \\"The object's @id (\\" + obj.id.href + \\") has a different origin \\" + + \\"than the document URL (\\" + baseUrl.href + \\"); refusing to return \\" + + \\"the object. If you want to bypass this check and are aware of\\" + + 'the security implications, set the crossOrigin option to \\"trust\\".' + ); + } + getLogger([\\"fedify\\", \\"vocab\\"]).warn( + \\"The object's @id ({objectId}) has a different origin than the document \\" + + \\"URL ({documentUrl}); refusing to return the object. If you want to \\" + + \\"bypass this check and are aware of the security implications, \\" + + 'set the crossOrigin option to \\"trust\\".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute(\\"activitypub.object.id\\", (obj.id ?? url).href); + span.setAttribute( + \\"activitypub.object.type\\", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger([\\"fedify\\", \\"vocab\\"]).error( + \\"Failed to parse {url}: {error}\\", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #announceAuthorization_fromJsonLd( jsonLd: unknown, options: { documentLoader?: DocumentLoader, @@ -7732,7 +8519,7 @@ get urls(): ((URL | Link))[] { tracerProvider?: TracerProvider, baseUrl?: URL } - ): Promise { + ): Promise { const documentLoader = options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); const contextLoader = @@ -7742,7 +8529,7 @@ get urls(): ((URL | Link))[] { const baseUrl = options.baseUrl; try { - return await DataIntegrityProof.fromJsonLd( + return await AnnounceAuthorization.fromJsonLd( jsonLd, { documentLoader, contextLoader, tracerProvider, baseUrl }, ); @@ -7751,33 +8538,34 @@ get urls(): ((URL | Link))[] { } throw new TypeError(\\"Expected an object of any type of: \\" + - [\\"https://w3id.org/security#DataIntegrityProof\\"].join(\\", \\")); + [\\"https://gotosocial.org/ns#AnnounceAuthorization\\"].join(\\", \\")); } /** * Similar to - * {@link Object.getProof}, + * {@link Object.getAnnounceAuthorization}, * but returns its \`@id\` URL instead of the object itself. */ - get proofId(): URL | null { + get announceAuthorizationId(): URL | null { if (this._warning != null) { getLogger(this._warning.category).warn( this._warning.message, this._warning.values ); } - if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; - const v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + const v = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; if (v instanceof URL) return v; return v.id; } -/** A cryptographic proof that can be used to verify the integrity of an object. +/** An {@link AnnounceAuthorization} object that proves this announce + * (boost) was approved by the target post's author. * */ - async getProof( + async getAnnounceAuthorization( options: { documentLoader?: DocumentLoader, contextLoader?: DocumentLoader, @@ -7785,26 +8573,26 @@ get urls(): ((URL | Link))[] { tracerProvider?: TracerProvider, crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; } = {} - ): Promise { + ): Promise { if (this._warning != null) { getLogger(this._warning.category).warn( this._warning.message, this._warning.values ); } - if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; - let v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + let v = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && v.id != null && v.id.origin !== this.id?.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + !this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.has(0)) { v = v.id; } if (v instanceof URL) { const fetched = - await this.#fetchProof(v, options); + await this.#fetchAnnounceAuthorization(v, options); if (fetched == null) return null; - this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0] = fetched; - this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(0); + this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0] = fetched; + this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.add(0); this._cachedJsonLd = undefined; return fetched; } @@ -7813,19 +8601,19 @@ get urls(): ((URL | Link))[] { this._cachedJsonLd != null && typeof this._cachedJsonLd === \\"object\\" && \\"@context\\" in this._cachedJsonLd && - \\"proof\\" in this._cachedJsonLd + \\"announceAuthorization\\" in this._cachedJsonLd ) { const prop = this._cachedJsonLd[ - \\"proof\\"]; + \\"announceAuthorization\\"]; const doc = Array.isArray(prop) ? prop[0] : prop; if (doc != null && typeof doc === \\"object\\" && \\"@context\\" in doc) { - v = await this.#proof_fromJsonLd(doc, options); + v = await this.#announceAuthorization_fromJsonLd(doc, options); } } if (options.crossOrigin !== \\"trust\\" && v?.id != null && this.id != null && v.id.origin !== this.id.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + !this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.has(0)) { if (options.crossOrigin === \\"throw\\") { throw new Error( \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + @@ -7848,185 +8636,6 @@ get urls(): ((URL | Link))[] { return v; } - /** - * Similar to - * {@link Object.getProofs}, - * but returns their \`@id\`s instead of the objects themselves. - */ - get proofIds(): URL[] { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - return this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.map((v) => - v instanceof URL ? v : v.id! - ).filter(id => id !== null); - } - -/** A cryptographic proof that can be used to verify the integrity of an object. - * - */ - - async* getProofs( - options: { - documentLoader?: DocumentLoader, - contextLoader?: DocumentLoader, - suppressError?: boolean, - tracerProvider?: TracerProvider, - crossOrigin?: \\"ignore\\" | \\"throw\\" | \\"trust\\"; - } = {} - ): AsyncIterable { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - const vs = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; - for (let i = 0; i < vs.length; i++) { - let v = vs[i]; - if (options.crossOrigin !== \\"trust\\" && !(v instanceof URL) && - v.id != null && v.id.origin !== this.id?.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(i)) { - v = v.id; - } - if (v instanceof URL) { - const fetched = - await this.#fetchProof(v, options); - if (fetched == null) continue; - vs[i] = fetched; - this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(i); - this._cachedJsonLd = undefined; - yield fetched; - continue; - } - - if ( - this._cachedJsonLd != null && - typeof this._cachedJsonLd === \\"object\\" && - \\"@context\\" in this._cachedJsonLd && - \\"proof\\" in this._cachedJsonLd - ) { - const prop = this._cachedJsonLd[ - \\"proof\\"]; - const obj = Array.isArray(prop) ? prop[i] : prop; - if (obj != null && typeof obj === \\"object\\" && \\"@context\\" in obj) { - v = await this.#proof_fromJsonLd(obj, options); - } - } - - if (options.crossOrigin !== \\"trust\\" && v?.id != null && - this.id != null && v.id.origin !== this.id.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { - if (options.crossOrigin === \\"throw\\") { - throw new Error( - \\"The property object's @id (\\" + v.id.href + \\") has a different \\" + - \\"origin than the property owner's @id (\\" + this.id.href + \\"); \\" + - \\"refusing to return the object. If you want to bypass this \\" + - \\"check and are aware of the security implications, set the \\" + - 'crossOrigin option to \\"trust\\".' - ); - } - getLogger([\\"fedify\\", \\"vocab\\"]).warn( - \\"The property object's @id ({objectId}) has a different origin \\" + - \\"than the property owner's @id ({parentObjectId}); refusing to \\" + - \\"return the object. If you want to bypass this check and are \\" + - \\"aware of the security implications, set the crossOrigin \\" + - 'option to \\"trust\\".', - { objectId: v.id.href, parentObjectId: this.id.href }, - ); - continue; - } - yield v; - } - } - -/** The interaction policy for this object, specifying who can like, reply to, - * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, - * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` - * lists. - * - * When absent, implementations should assume anyone can interact with - * the object. Setting this property signals that the server understands - * and will enforce interaction controls. - * - * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) - * for details. - * - */ - get interactionPolicy(): (InteractionPolicy | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; - return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; - } - -/** A URI referencing an authorization object that proves this interaction - * was approved by the target post's author. - * - */ - get approvedBy(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; - return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; - } - -/** A URI referencing a {@link LikeAuthorization} object that proves - * this like interaction was approved by the target post's author. - * - */ - get likeAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; - return this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; - } - -/** A URI referencing a {@link ReplyAuthorization} object that proves - * this reply was approved by the target post's author. - * - */ - get replyAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; - return this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; - } - -/** A URI referencing an {@link AnnounceAuthorization} object that proves - * this announce (boost) was approved by the target post's author. - * - */ - get announceAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; - return this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; - } - /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -8757,7 +9366,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -8773,7 +9386,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -8789,7 +9406,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -9348,7 +9969,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { const element = ( - { \\"@id\\": v.href } + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -9363,7 +9984,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { const element = ( - { \\"@id\\": v.href } + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -9378,7 +9999,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { const element = ( - { \\"@id\\": v.href } + v instanceof URL ? { \\"@id\\": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -10813,8 +11434,10 @@ get urls(): ((URL | Link))[] { : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) } instance.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; - const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; - + + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (LikeAuthorization | URL)[] = []; + const _trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: Set = new Set(); + let _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array = values[\\"https://gotosocial.org/ns#likeAuthorization\\"]; for ( @@ -10825,26 +11448,26 @@ get urls(): ((URL | Link))[] { : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array ) { if (v == null) continue; - _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") - ? new URL(\\"at://\\" + - encodeURIComponent( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) - : v[\\"@id\\"].slice(5) - ) + - ( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) - : \\"\\" - ) - ) - : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) - ? new URL(v[\\"@id\\"]) - : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(await LikeAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } instance.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; - const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; - + + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (ReplyAuthorization | URL)[] = []; + const _trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: Set = new Set(); + let _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array = values[\\"https://gotosocial.org/ns#replyAuthorization\\"]; for ( @@ -10855,26 +11478,26 @@ get urls(): ((URL | Link))[] { : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array ) { if (v == null) continue; - _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") - ? new URL(\\"at://\\" + - encodeURIComponent( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) - : v[\\"@id\\"].slice(5) - ) + - ( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) - : \\"\\" - ) - ) - : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) - ? new URL(v[\\"@id\\"]) - : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(await ReplyAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } instance.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; - const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; - + + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; + const _trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); + let _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array = values[\\"https://gotosocial.org/ns#announceAuthorization\\"]; for ( @@ -10885,22 +11508,20 @@ get urls(): ((URL | Link))[] { : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array ) { if (v == null) continue; - _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(v[\\"@id\\"].startsWith(\\"at://\\") - ? new URL(\\"at://\\" + - encodeURIComponent( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(5, v[\\"@id\\"].indexOf(\\"/\\", 5)) - : v[\\"@id\\"].slice(5) - ) + - ( - v[\\"@id\\"].includes(\\"/\\", 5) - ? v[\\"@id\\"].slice(v[\\"@id\\"].indexOf(\\"/\\", 5)) - : \\"\\" - ) - ) - : URL.canParse(v[\\"@id\\"]) && (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) - ? new URL(v[\\"@id\\"]) - : new URL(v[\\"@id\\"], (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])))) + + if (typeof v === \\"object\\" && \\"@id\\" in v && !(\\"@type\\" in v) + && globalThis.Object.keys(v).length === 1) { + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push( + !URL.canParse(v[\\"@id\\"]) && v[\\"@id\\"].startsWith(\\"at://\\") + ? new URL(\\"at://\\" + encodeURIComponent(v[\\"@id\\"].substring(5))) + : new URL(v[\\"@id\\"]) + ); + continue; + } + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(await AnnounceAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values[\\"@id\\"] == null ? options.baseUrl : new URL(values[\\"@id\\"])) } + )) } instance.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; @@ -11841,7 +12462,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11877,7 +12498,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -12184,7 +12805,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -12233,7 +12854,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -12681,7 +13302,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -12963,7 +13584,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16007,7 +16628,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16049,7 +16670,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16955,7 +17576,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -17017,7 +17638,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -17956,7 +18577,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -17998,7 +18619,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19648,7 +20269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -19710,7 +20331,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -20648,7 +21269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20690,7 +21311,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20994,7 +21615,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -21056,7 +21677,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -21994,7 +22615,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -22036,7 +22657,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25885,7 +26506,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25927,7 +26548,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26225,7 +26846,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26267,7 +26888,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26560,7 +27181,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26602,7 +27223,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26940,7 +27561,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -27404,7 +28025,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -33485,7 +34106,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33527,7 +34148,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33832,7 +34453,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33874,7 +34495,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -34165,7 +34786,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34214,7 +34835,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -34641,7 +35262,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -34703,7 +35324,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -35214,7 +35835,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -35250,7 +35871,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -35553,7 +36174,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35595,7 +36216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35893,7 +36514,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35935,7 +36556,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36267,7 +36888,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -36478,7 +37099,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} = {}, options: { @@ -40698,7 +41319,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -40773,7 +41394,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} = {}, options: { @@ -42017,7 +42638,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42059,7 +42680,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42351,7 +42972,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42393,7 +43014,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42683,7 +43304,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42725,7 +43346,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44119,7 +44740,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -44155,7 +44776,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -44459,7 +45080,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44501,7 +45122,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44795,7 +45416,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44837,7 +45458,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -45175,7 +45796,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -45639,7 +46260,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -53683,7 +54304,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -53719,7 +54340,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -54023,7 +54644,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54065,7 +54686,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54361,7 +54982,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54403,7 +55024,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54695,7 +55316,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54737,7 +55358,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55029,7 +55650,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55071,7 +55692,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55363,7 +55984,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55405,7 +56026,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55695,7 +56316,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55737,7 +56358,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56328,7 +56949,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56370,7 +56991,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56663,7 +57284,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -56712,7 +57333,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -57142,7 +57763,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} , options: { documentLoader?: DocumentLoader, @@ -57197,7 +57818,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} = {}, options: { @@ -57853,7 +58474,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -57921,7 +58542,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} = {}, options: { @@ -58715,7 +59336,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -59179,7 +59800,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -65257,7 +65878,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -65293,7 +65914,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -65642,7 +66263,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -66106,7 +66727,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -72193,7 +72814,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -72307,7 +72928,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: \\"cm\\" | \\"feet\\" | \\"inches\\" | \\"km\\" | \\"m\\" | \\"miles\\" | URL | null;} = {}, options: { @@ -73219,7 +73840,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -73268,7 +73889,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;describes?: Object | URL | null;} = {}, options: { @@ -73900,7 +74521,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -74019,7 +74640,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75198,7 +75819,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75240,7 +75861,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75532,7 +76153,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75574,7 +76195,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75884,7 +76505,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -76015,7 +76636,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -77524,7 +78145,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -77566,7 +78187,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -77904,7 +78525,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -78368,7 +78989,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -85089,7 +85710,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85131,7 +85752,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85423,7 +86044,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85465,7 +86086,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85759,7 +86380,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;deleted?: Temporal.Instant | null;} , options: { documentLoader?: DocumentLoader, @@ -85808,7 +86429,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;deleted?: Temporal.Instant | null;} = {}, options: { @@ -86214,7 +86835,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86256,7 +86877,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86553,7 +87174,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86595,7 +87216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86890,7 +87511,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86932,7 +87553,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -87222,7 +87843,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -87258,7 +87879,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -87560,7 +88181,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -87602,7 +88223,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; diff --git a/packages/vocab-tools/src/__snapshots__/class.test.ts.snap b/packages/vocab-tools/src/__snapshots__/class.test.ts.snap index 8dd04f7a7..04936cff9 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.snap @@ -149,10 +149,16 @@ export class Object { #_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof: Set = new Set(); #_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy: (InteractionPolicy)[] = []; #_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy: (URL)[] = []; -#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; -#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; -#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; + #_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (LikeAuthorization | URL)[] = []; + #_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: Set = new Set(); + + #_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (ReplyAuthorization | URL)[] = []; + #_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: Set = new Set(); + + #_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; + #_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); + /** * Constructs a new instance of Object with the given values. * @param values The values to initialize the instance with. @@ -178,7 +184,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -1086,40 +1092,40 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } if ("likeAuthorization" in values && values.likeAuthorization != null) { - if (values.likeAuthorization instanceof URL) { + if (values.likeAuthorization instanceof LikeAuthorization || values.likeAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; - + this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.add(0); } else { throw new TypeError( "The likeAuthorization must be of type " + - "URL" + ".", + "LikeAuthorization | URL" + ".", ); } } if ("replyAuthorization" in values && values.replyAuthorization != null) { - if (values.replyAuthorization instanceof URL) { + if (values.replyAuthorization instanceof ReplyAuthorization || values.replyAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; - + this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.add(0); } else { throw new TypeError( "The replyAuthorization must be of type " + - "URL" + ".", + "ReplyAuthorization | URL" + ".", ); } } if ("announceAuthorization" in values && values.announceAuthorization != null) { - if (values.announceAuthorization instanceof URL) { + if (values.announceAuthorization instanceof AnnounceAuthorization || values.announceAuthorization instanceof URL) { // @ts-ignore: type is checked above. this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; - + this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.add(0); } else { throw new TypeError( "The announceAuthorization must be of type " + - "URL" + ".", + "AnnounceAuthorization | URL" + ".", ); } } @@ -1151,7 +1157,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -2071,42 +2077,42 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } - clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; + clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization;clone.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = new Set(this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization); if ("likeAuthorization" in values && values.likeAuthorization != null) { - if (values.likeAuthorization instanceof URL) { + if (values.likeAuthorization instanceof LikeAuthorization || values.likeAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = [values.likeAuthorization]; - + clone.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = new Set([0]); } else { throw new TypeError( "The likeAuthorization must be of type " + - "URL" + ".", + "LikeAuthorization | URL" + ".", ); } } - clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; + clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization;clone.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = new Set(this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization); if ("replyAuthorization" in values && values.replyAuthorization != null) { - if (values.replyAuthorization instanceof URL) { + if (values.replyAuthorization instanceof ReplyAuthorization || values.replyAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = [values.replyAuthorization]; - + clone.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = new Set([0]); } else { throw new TypeError( "The replyAuthorization must be of type " + - "URL" + ".", + "ReplyAuthorization | URL" + ".", ); } } - clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; + clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization;clone.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = new Set(this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization); if ("announceAuthorization" in values && values.announceAuthorization != null) { - if (values.announceAuthorization instanceof URL) { + if (values.announceAuthorization instanceof AnnounceAuthorization || values.announceAuthorization instanceof URL) { // @ts-ignore: type is checked above. clone.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = [values.announceAuthorization]; - + clone.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = new Set([0]); } else { throw new TypeError( "The announceAuthorization must be of type " + - "URL" + ".", + "AnnounceAuthorization | URL" + ".", ); } } @@ -7726,7 +7732,788 @@ get urls(): ((URL | Link))[] { }); } - async #proof_fromJsonLd( + async #proof_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await DataIntegrityProof.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://w3id.org/security#DataIntegrityProof"].join(", ")); + } + + + /** + * Similar to + * {@link Object.getProof}, + * but returns its \`@id\` URL instead of the object itself. + */ + get proofId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; + const v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A cryptographic proof that can be used to verify the integrity of an object. + * + */ + + async getProof( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; + let v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchProof(v, options); + if (fetched == null) return null; + this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0] = fetched; + this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "proof" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "proof"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#proof_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + /** + * Similar to + * {@link Object.getProofs}, + * but returns their \`@id\`s instead of the objects themselves. + */ + get proofIds(): URL[] { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + return this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.map((v) => + v instanceof URL ? v : v.id! + ).filter(id => id !== null); + } + +/** A cryptographic proof that can be used to verify the integrity of an object. + * + */ + + async* getProofs( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): AsyncIterable { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + const vs = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; + for (let i = 0; i < vs.length; i++) { + let v = vs[i]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(i)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchProof(v, options); + if (fetched == null) continue; + vs[i] = fetched; + this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(i); + this._cachedJsonLd = undefined; + yield fetched; + continue; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "proof" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "proof"]; + const obj = Array.isArray(prop) ? prop[i] : prop; + if (obj != null && typeof obj === "object" && "@context" in obj) { + v = await this.#proof_fromJsonLd(obj, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin " + + 'option to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + continue; + } + yield v; + } + } + +/** The interaction policy for this object, specifying who can like, reply to, + * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, + * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` + * lists. + * + * When absent, implementations should assume anyone can interact with + * the object. Setting this property signals that the server understands + * and will enforce interaction controls. + * + * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) + * for details. + * + */ + get interactionPolicy(): (InteractionPolicy | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; + return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; + } + +/** A URI referencing an authorization object that proves this interaction + * was approved by the target post's author. + * + */ + get approvedBy(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; + return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; + } + + async #fetchLikeAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#likeAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #likeAuthorization_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await LikeAuthorization.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://gotosocial.org/ns#LikeApproval"].join(", ")); + } + + + /** + * Similar to + * {@link Object.getLikeAuthorization}, + * but returns its \`@id\` URL instead of the object itself. + */ + get likeAuthorizationId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + const v = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A {@link LikeAuthorization} object that proves this like interaction + * was approved by the target post's author. + * + */ + + async getLikeAuthorization( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; + let v = this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchLikeAuthorization(v, options); + if (fetched == null) return null; + this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0] = fetched; + this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "likeAuthorization" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "likeAuthorization"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#likeAuthorization_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchReplyAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#replyAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #replyAuthorization_fromJsonLd( + jsonLd: unknown, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + tracerProvider?: TracerProvider, + baseUrl?: URL + } + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const baseUrl = options.baseUrl; + + try { + return await ReplyAuthorization.fromJsonLd( + jsonLd, + { documentLoader, contextLoader, tracerProvider, baseUrl }, + ); + } catch (e) { + if (!(e instanceof TypeError)) throw e; + } + + throw new TypeError("Expected an object of any type of: " + + ["https://gotosocial.org/ns#ReplyAuthorization"].join(", ")); + } + + + /** + * Similar to + * {@link Object.getReplyAuthorization}, + * but returns its \`@id\` URL instead of the object itself. + */ + get replyAuthorizationId(): URL | null { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + const v = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + if (v instanceof URL) return v; + return v.id; + } + +/** A {@link ReplyAuthorization} object that proves this reply was approved + * by the target post's author. + * + */ + + async getReplyAuthorization( + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {} + ): Promise { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; + let v = this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; + if (options.crossOrigin !== "trust" && !(v instanceof URL) && + v.id != null && v.id.origin !== this.id?.origin && + !this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.has(0)) { + v = v.id; + } + if (v instanceof URL) { + const fetched = + await this.#fetchReplyAuthorization(v, options); + if (fetched == null) return null; + this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0] = fetched; + this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.add(0); + this._cachedJsonLd = undefined; + return fetched; + } + + if ( + this._cachedJsonLd != null && + typeof this._cachedJsonLd === "object" && + "@context" in this._cachedJsonLd && + "replyAuthorization" in this._cachedJsonLd + ) { + const prop = this._cachedJsonLd[ + "replyAuthorization"]; + const doc = Array.isArray(prop) ? prop[0] : prop; + if (doc != null && typeof doc === "object" && "@context" in doc) { + v = await this.#replyAuthorization_fromJsonLd(doc, options); + } + } + + if (options.crossOrigin !== "trust" && v?.id != null && + this.id != null && v.id.origin !== this.id.origin && + !this.#_trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.has(0)) { + if (options.crossOrigin === "throw") { + throw new Error( + "The property object's @id (" + v.id.href + ") has a different " + + "origin than the property owner's @id (" + this.id.href + "); " + + "refusing to return the object. If you want to bypass this " + + "check and are aware of the security implications, set the " + + 'crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The property object's @id ({objectId}) has a different origin " + + "than the property owner's @id ({parentObjectId}); refusing to " + + "return the object. If you want to bypass this check and are " + + "aware of the security implications, set the crossOrigin option " + + 'to "trust".', + { objectId: v.id.href, parentObjectId: this.id.href }, + ); + return null; + } + return v; + } + + async #fetchAnnounceAuthorization( + url: URL, + options: { + documentLoader?: DocumentLoader, + contextLoader?: DocumentLoader, + suppressError?: boolean, + tracerProvider?: TracerProvider, + crossOrigin?: "ignore" | "throw" | "trust"; + } = {}, + ): Promise { + const documentLoader = + options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); + const contextLoader = + options.contextLoader ?? this._contextLoader ?? getDocumentLoader(); + const tracerProvider = options.tracerProvider ?? + this._tracerProvider ?? trace.getTracerProvider(); + const tracer = tracerProvider.getTracer( + "@fedify/vocab-tools", + "0.0.0", + ); + return await tracer.startActiveSpan("activitypub.lookup_object", async (span) => { + let fetchResult: RemoteDocument; + try { + fetchResult = await documentLoader(url.href); + } catch (error) { + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(error), + }); + span.end(); + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to fetch {url}: {error}", + { error, url: url.href } + ); + return null; + } + throw error; + } + const { document, documentUrl } = fetchResult; + const baseUrl = new URL(documentUrl); + try { + const obj = await this.#announceAuthorization_fromJsonLd( + document, + { documentLoader, contextLoader, tracerProvider, baseUrl } + ); + if (options.crossOrigin !== "trust" && obj?.id != null && + obj.id.origin !== baseUrl.origin) { + if (options.crossOrigin === "throw") { + throw new Error( + "The object's @id (" + obj.id.href + ") has a different origin " + + "than the document URL (" + baseUrl.href + "); refusing to return " + + "the object. If you want to bypass this check and are aware of" + + 'the security implications, set the crossOrigin option to "trust".' + ); + } + getLogger(["fedify", "vocab"]).warn( + "The object's @id ({objectId}) has a different origin than the document " + + "URL ({documentUrl}); refusing to return the object. If you want to " + + "bypass this check and are aware of the security implications, " + + 'set the crossOrigin option to "trust".', + { ...fetchResult, objectId: obj.id.href }, + ); + return null; + } + span.setAttribute("activitypub.object.id", (obj.id ?? url).href); + span.setAttribute( + "activitypub.object.type", + // @ts-ignore: obj.constructor always has a typeId. + obj.constructor.typeId.href + ); + return obj; + } catch (e) { + if (options.suppressError) { + getLogger(["fedify", "vocab"]).error( + "Failed to parse {url}: {error}", + { error: e, url: url.href } + ); + return null; + } + span.setStatus({ + code: SpanStatusCode.ERROR, + message: String(e), + }); + throw e; + } finally { + span.end(); + } + }); + } + + async #announceAuthorization_fromJsonLd( jsonLd: unknown, options: { documentLoader?: DocumentLoader, @@ -7734,7 +8521,7 @@ get urls(): ((URL | Link))[] { tracerProvider?: TracerProvider, baseUrl?: URL } - ): Promise { + ): Promise { const documentLoader = options.documentLoader ?? this._documentLoader ?? getDocumentLoader(); const contextLoader = @@ -7744,7 +8531,7 @@ get urls(): ((URL | Link))[] { const baseUrl = options.baseUrl; try { - return await DataIntegrityProof.fromJsonLd( + return await AnnounceAuthorization.fromJsonLd( jsonLd, { documentLoader, contextLoader, tracerProvider, baseUrl }, ); @@ -7753,33 +8540,34 @@ get urls(): ((URL | Link))[] { } throw new TypeError("Expected an object of any type of: " + - ["https://w3id.org/security#DataIntegrityProof"].join(", ")); + ["https://gotosocial.org/ns#AnnounceAuthorization"].join(", ")); } /** * Similar to - * {@link Object.getProof}, + * {@link Object.getAnnounceAuthorization}, * but returns its \`@id\` URL instead of the object itself. */ - get proofId(): URL | null { + get announceAuthorizationId(): URL | null { if (this._warning != null) { getLogger(this._warning.category).warn( this._warning.message, this._warning.values ); } - if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; - const v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + const v = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; if (v instanceof URL) return v; return v.id; } -/** A cryptographic proof that can be used to verify the integrity of an object. +/** An {@link AnnounceAuthorization} object that proves this announce + * (boost) was approved by the target post's author. * */ - async getProof( + async getAnnounceAuthorization( options: { documentLoader?: DocumentLoader, contextLoader?: DocumentLoader, @@ -7787,26 +8575,26 @@ get urls(): ((URL | Link))[] { tracerProvider?: TracerProvider, crossOrigin?: "ignore" | "throw" | "trust"; } = {} - ): Promise { + ): Promise { if (this._warning != null) { getLogger(this._warning.category).warn( this._warning.message, this._warning.values ); } - if (this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.length < 1) return null; - let v = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0]; + if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; + let v = this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; if (options.crossOrigin !== "trust" && !(v instanceof URL) && v.id != null && v.id.origin !== this.id?.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + !this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.has(0)) { v = v.id; } if (v instanceof URL) { const fetched = - await this.#fetchProof(v, options); + await this.#fetchAnnounceAuthorization(v, options); if (fetched == null) return null; - this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof[0] = fetched; - this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(0); + this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0] = fetched; + this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.add(0); this._cachedJsonLd = undefined; return fetched; } @@ -7815,19 +8603,19 @@ get urls(): ((URL | Link))[] { this._cachedJsonLd != null && typeof this._cachedJsonLd === "object" && "@context" in this._cachedJsonLd && - "proof" in this._cachedJsonLd + "announceAuthorization" in this._cachedJsonLd ) { const prop = this._cachedJsonLd[ - "proof"]; + "announceAuthorization"]; const doc = Array.isArray(prop) ? prop[0] : prop; if (doc != null && typeof doc === "object" && "@context" in doc) { - v = await this.#proof_fromJsonLd(doc, options); + v = await this.#announceAuthorization_fromJsonLd(doc, options); } } if (options.crossOrigin !== "trust" && v?.id != null && this.id != null && v.id.origin !== this.id.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { + !this.#_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.has(0)) { if (options.crossOrigin === "throw") { throw new Error( "The property object's @id (" + v.id.href + ") has a different " + @@ -7850,185 +8638,6 @@ get urls(): ((URL | Link))[] { return v; } - /** - * Similar to - * {@link Object.getProofs}, - * but returns their \`@id\`s instead of the objects themselves. - */ - get proofIds(): URL[] { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - return this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.map((v) => - v instanceof URL ? v : v.id! - ).filter(id => id !== null); - } - -/** A cryptographic proof that can be used to verify the integrity of an object. - * - */ - - async* getProofs( - options: { - documentLoader?: DocumentLoader, - contextLoader?: DocumentLoader, - suppressError?: boolean, - tracerProvider?: TracerProvider, - crossOrigin?: "ignore" | "throw" | "trust"; - } = {} - ): AsyncIterable { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - const vs = this.#_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof; - for (let i = 0; i < vs.length; i++) { - let v = vs[i]; - if (options.crossOrigin !== "trust" && !(v instanceof URL) && - v.id != null && v.id.origin !== this.id?.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(i)) { - v = v.id; - } - if (v instanceof URL) { - const fetched = - await this.#fetchProof(v, options); - if (fetched == null) continue; - vs[i] = fetched; - this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.add(i); - this._cachedJsonLd = undefined; - yield fetched; - continue; - } - - if ( - this._cachedJsonLd != null && - typeof this._cachedJsonLd === "object" && - "@context" in this._cachedJsonLd && - "proof" in this._cachedJsonLd - ) { - const prop = this._cachedJsonLd[ - "proof"]; - const obj = Array.isArray(prop) ? prop[i] : prop; - if (obj != null && typeof obj === "object" && "@context" in obj) { - v = await this.#proof_fromJsonLd(obj, options); - } - } - - if (options.crossOrigin !== "trust" && v?.id != null && - this.id != null && v.id.origin !== this.id.origin && - !this.#_trust_42rPnotok1ivQ2RNCKNbeFJgx8b8_proof.has(0)) { - if (options.crossOrigin === "throw") { - throw new Error( - "The property object's @id (" + v.id.href + ") has a different " + - "origin than the property owner's @id (" + this.id.href + "); " + - "refusing to return the object. If you want to bypass this " + - "check and are aware of the security implications, set the " + - 'crossOrigin option to "trust".' - ); - } - getLogger(["fedify", "vocab"]).warn( - "The property object's @id ({objectId}) has a different origin " + - "than the property owner's @id ({parentObjectId}); refusing to " + - "return the object. If you want to bypass this check and are " + - "aware of the security implications, set the crossOrigin " + - 'option to "trust".', - { objectId: v.id.href, parentObjectId: this.id.href }, - ); - continue; - } - yield v; - } - } - -/** The interaction policy for this object, specifying who can like, reply to, - * or announce it. Contains sub-policies (\`canLike\`, \`canReply\`, - * \`canAnnounce\`) each defining \`automaticApproval\` and \`manualApproval\` - * lists. - * - * When absent, implementations should assume anyone can interact with - * the object. Setting this property signals that the server understands - * and will enforce interaction controls. - * - * See [GoToSocial interaction controls](https://docs.gotosocial.org/en/latest/federation/interaction_controls/) - * for details. - * - */ - get interactionPolicy(): (InteractionPolicy | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy.length < 1) return null; - return this.#_2MHQfh2N74MMmDLDqYWFo7TxYQK2_interactionPolicy[0]; - } - -/** A URI referencing an authorization object that proves this interaction - * was approved by the target post's author. - * - */ - get approvedBy(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy.length < 1) return null; - return this.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy[0]; - } - -/** A URI referencing a {@link LikeAuthorization} object that proves - * this like interaction was approved by the target post's author. - * - */ - get likeAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.length < 1) return null; - return this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization[0]; - } - -/** A URI referencing a {@link ReplyAuthorization} object that proves - * this reply was approved by the target post's author. - * - */ - get replyAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.length < 1) return null; - return this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization[0]; - } - -/** A URI referencing an {@link AnnounceAuthorization} object that proves - * this announce (boost) was approved by the target post's author. - * - */ - get announceAuthorization(): (URL | null) { - if (this._warning != null) { - getLogger(this._warning.category).warn( - this._warning.message, - this._warning.values - ); - } - if (this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.length < 1) return null; - return this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization[0]; - } - /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -8759,7 +9368,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -8775,7 +9388,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -8791,7 +9408,11 @@ get urls(): ((URL | Link))[] { compactItems = []; for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { const item = ( - v.href + v instanceof URL ? v.href : await v.toJsonLd({ + ...(options), + format: undefined, + context: undefined, + }) ); compactItems.push(item); } @@ -9350,7 +9971,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization) { const element = ( - { "@id": v.href } + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -9365,7 +9986,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization) { const element = ( - { "@id": v.href } + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -9380,7 +10001,7 @@ get urls(): ((URL | Link))[] { array = []; for (const v of this.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization) { const element = ( - { "@id": v.href } + v instanceof URL ? { "@id": v.href } : await v.toJsonLd(options) ); array.push(element);; } @@ -10815,8 +11436,10 @@ get urls(): ((URL | Link))[] { : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) } instance.#_23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy = _23YiVs2miQcEiUdn4u8SvjQKWYim_approvedBy; - const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (URL)[] = []; - + + const _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: (LikeAuthorization | URL)[] = []; + const _trust_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization: Set = new Set(); + let _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array = values["https://gotosocial.org/ns#likeAuthorization"]; for ( @@ -10827,26 +11450,26 @@ get urls(): ((URL | Link))[] { : _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization__array ) { if (v == null) continue; - _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(v["@id"].startsWith("at://") - ? new URL("at://" + - encodeURIComponent( - v["@id"].includes("/", 5) - ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) - : v["@id"].slice(5) - ) + - ( - v["@id"].includes("/", 5) - ? v["@id"].slice(v["@id"].indexOf("/", 5)) - : "" - ) - ) - : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) - ? new URL(v["@id"]) - : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization.push(await LikeAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) } instance.#_3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization = _3fCeb5aXaDDd4fvkQ96BLWifBUBa_likeAuthorization; - const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (URL)[] = []; - + + const _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: (ReplyAuthorization | URL)[] = []; + const _trust_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization: Set = new Set(); + let _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array = values["https://gotosocial.org/ns#replyAuthorization"]; for ( @@ -10857,26 +11480,26 @@ get urls(): ((URL | Link))[] { : _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization__array ) { if (v == null) continue; - _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(v["@id"].startsWith("at://") - ? new URL("at://" + - encodeURIComponent( - v["@id"].includes("/", 5) - ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) - : v["@id"].slice(5) - ) + - ( - v["@id"].includes("/", 5) - ? v["@id"].slice(v["@id"].indexOf("/", 5)) - : "" - ) - ) - : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) - ? new URL(v["@id"]) - : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization.push(await ReplyAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) } instance.#_YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization = _YA4wdUW7rYztAQ6SjhMnJCmcmtP_replyAuthorization; - const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (URL)[] = []; - + + const _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; + const _trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); + let _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array = values["https://gotosocial.org/ns#announceAuthorization"]; for ( @@ -10887,22 +11510,20 @@ get urls(): ((URL | Link))[] { : _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization__array ) { if (v == null) continue; - _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(v["@id"].startsWith("at://") - ? new URL("at://" + - encodeURIComponent( - v["@id"].includes("/", 5) - ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) - : v["@id"].slice(5) - ) + - ( - v["@id"].includes("/", 5) - ? v["@id"].slice(v["@id"].indexOf("/", 5)) - : "" - ) - ) - : URL.canParse(v["@id"]) && (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) - ? new URL(v["@id"]) - : new URL(v["@id"], (values["@id"] == null ? options.baseUrl : new URL(values["@id"])))) + + if (typeof v === "object" && "@id" in v && !("@type" in v) + && globalThis.Object.keys(v).length === 1) { + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push( + !URL.canParse(v["@id"]) && v["@id"].startsWith("at://") + ? new URL("at://" + encodeURIComponent(v["@id"].substring(5))) + : new URL(v["@id"]) + ); + continue; + } + _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization.push(await AnnounceAuthorization.fromJsonLd( + v, + { ...options, baseUrl: (values["@id"] == null ? options.baseUrl : new URL(values["@id"])) } + )) } instance.#_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization = _446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization; @@ -11843,7 +12464,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -11879,7 +12500,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -12186,7 +12807,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -12235,7 +12856,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -12683,7 +13304,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -12965,7 +13586,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16009,7 +16630,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16051,7 +16672,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -16957,7 +17578,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -17019,7 +17640,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -17958,7 +18579,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -18000,7 +18621,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -19650,7 +20271,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -19712,7 +20333,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -20650,7 +21271,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20692,7 +21313,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -20996,7 +21617,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -21058,7 +21679,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -21996,7 +22617,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -22038,7 +22659,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25887,7 +26508,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25929,7 +26550,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26227,7 +26848,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26269,7 +26890,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26562,7 +27183,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26604,7 +27225,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26942,7 +27563,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -27406,7 +28027,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -33487,7 +34108,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33529,7 +34150,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33834,7 +34455,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33876,7 +34497,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -34167,7 +34788,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34216,7 +34837,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -34643,7 +35264,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -34705,7 +35326,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -35216,7 +35837,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -35252,7 +35873,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -35555,7 +36176,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35597,7 +36218,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35895,7 +36516,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35937,7 +36558,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -36269,7 +36890,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -36480,7 +37101,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;} = {}, options: { @@ -40700,7 +41321,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -40775,7 +41396,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;items?: (Object | Link | URL)[];likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;} = {}, options: { @@ -42019,7 +42640,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42061,7 +42682,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42353,7 +42974,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42395,7 +43016,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42685,7 +43306,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -42727,7 +43348,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44121,7 +44742,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -44157,7 +44778,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;} = {}, options: { @@ -44461,7 +45082,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44503,7 +45124,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44797,7 +45418,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -44839,7 +45460,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -45177,7 +45798,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -45641,7 +46262,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -53685,7 +54306,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -53721,7 +54342,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -54025,7 +54646,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54067,7 +54688,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54363,7 +54984,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54405,7 +55026,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54697,7 +55318,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -54739,7 +55360,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55031,7 +55652,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55073,7 +55694,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55365,7 +55986,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55407,7 +56028,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55697,7 +56318,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -55739,7 +56360,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56330,7 +56951,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56372,7 +56993,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -56665,7 +57286,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -56714,7 +57335,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;quoteUrl?: URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;quoteUrl?: URL | null;} = {}, options: { @@ -57144,7 +57765,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} , options: { documentLoader?: DocumentLoader, @@ -57199,7 +57820,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;items?: (Object | Link | URL)[];} = {}, options: { @@ -57855,7 +58476,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -57923,7 +58544,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;totalItems?: number | null;current?: CollectionPage | URL | null;first?: CollectionPage | URL | null;last?: CollectionPage | URL | null;likesOf?: Object | URL | null;sharesOf?: Object | URL | null;repliesOf?: Object | URL | null;inboxOf?: Object | URL | null;outboxOf?: Object | URL | null;followersOf?: Object | URL | null;followingOf?: Object | URL | null;likedOf?: Object | URL | null;partOf?: Collection | URL | null;next?: CollectionPage | URL | null;prev?: CollectionPage | URL | null;items?: (Object | Link | URL)[];startIndex?: number | null;} = {}, options: { @@ -58717,7 +59338,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -59181,7 +59802,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -65259,7 +65880,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -65295,7 +65916,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -65644,7 +66265,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -66108,7 +66729,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -72195,7 +72816,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -72309,7 +72930,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;accuracy?: number | null;altitude?: number | null;latitude?: number | null;longitude?: number | null;radius?: number | null;units?: "cm" | "feet" | "inches" | "km" | "m" | "miles" | URL | null;} = {}, options: { @@ -73221,7 +73842,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -73270,7 +73891,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;describes?: Object | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;describes?: Object | URL | null;} = {}, options: { @@ -73902,7 +74523,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -74021,7 +74642,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75200,7 +75821,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75242,7 +75863,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75534,7 +76155,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75576,7 +76197,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -75886,7 +76507,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -76017,7 +76638,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;subject?: Object | URL | null;object?: Object | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -77526,7 +78147,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -77568,7 +78189,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -77906,7 +78527,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -78370,7 +78991,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;preferredUsername?: string | LanguageString | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];manuallyApprovesFollowers?: boolean | null;inbox?: OrderedCollection | OrderedCollectionPage | URL | null;outbox?: OrderedCollection | OrderedCollectionPage | URL | null;following?: Collection | URL | null;followers?: Collection | URL | null;liked?: Collection | URL | null;featured?: Collection | URL | null;featuredTags?: Collection | URL | null;streams?: (Collection | URL)[];endpoints?: Endpoints | null;discoverable?: boolean | null;suspended?: boolean | null;memorial?: boolean | null;indexable?: boolean | null;successor?: Application | Group | Organization | Person | Service | URL | null;alias?: Application | Group | Organization | Person | Service | URL | null; @@ -85091,7 +85712,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85133,7 +85754,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85425,7 +86046,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85467,7 +86088,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -85761,7 +86382,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;deleted?: Temporal.Instant | null;} , options: { documentLoader?: DocumentLoader, @@ -85810,7 +86431,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;deleted?: Temporal.Instant | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;deleted?: Temporal.Instant | null;} = {}, options: { @@ -86216,7 +86837,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86258,7 +86879,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86555,7 +87176,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86597,7 +87218,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86892,7 +87513,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -86934,7 +87555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -87224,7 +87845,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} , options: { documentLoader?: DocumentLoader, @@ -87260,7 +87881,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;width?: number | null;height?: number | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;width?: number | null;height?: number | null;} = {}, options: { @@ -87562,7 +88183,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -87604,7 +88225,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: URL | null;replyAuthorization?: URL | null;announceAuthorization?: URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; diff --git a/packages/vocab/src/__snapshots__/vocab.test.ts.snap b/packages/vocab/src/__snapshots__/vocab.test.ts.snap index c9644d1e2..8a4179ccd 100644 --- a/packages/vocab/src/__snapshots__/vocab.test.ts.snap +++ b/packages/vocab/src/__snapshots__/vocab.test.ts.snap @@ -37,9 +37,9 @@ snapshot[`Deno.inspect(Emoji) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/" + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {} }' `; @@ -123,9 +123,9 @@ snapshot[`Deno.inspect(Emoji) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/" + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {} }' `; @@ -166,9 +166,9 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, quoteUrl: URL "https://fedify.dev/" }' `; @@ -254,9 +254,9 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, quoteUrl: URL "https://fedify.dev/" }' `; @@ -298,9 +298,9 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -396,9 +396,9 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -451,9 +451,9 @@ snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, interactingObject: Object {}, interactionTarget: Object {} }' @@ -541,9 +541,9 @@ snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, interactingObject: Object {}, interactionTarget: Object {} }' @@ -586,9 +586,9 @@ snapshot[`Deno.inspect(AnnounceRequest) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -684,9 +684,9 @@ snapshot[`Deno.inspect(AnnounceRequest) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -784,9 +784,9 @@ snapshot[`Deno.inspect(LikeAuthorization) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, interactingObject: Object {}, interactionTarget: Object {} }' @@ -874,9 +874,9 @@ snapshot[`Deno.inspect(LikeAuthorization) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, interactingObject: Object {}, interactionTarget: Object {} }' @@ -919,9 +919,9 @@ snapshot[`Deno.inspect(LikeRequest) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1017,9 +1017,9 @@ snapshot[`Deno.inspect(LikeRequest) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1066,9 +1066,9 @@ snapshot[`Deno.inspect(ReplyAuthorization) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, interactingObject: Object {}, interactionTarget: Object {} }' @@ -1156,9 +1156,9 @@ snapshot[`Deno.inspect(ReplyAuthorization) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, interactingObject: Object {}, interactionTarget: Object {} }' @@ -1201,9 +1201,9 @@ snapshot[`Deno.inspect(ReplyRequest) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1299,9 +1299,9 @@ snapshot[`Deno.inspect(ReplyRequest) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1516,9 +1516,9 @@ snapshot[`Deno.inspect(Accept) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1614,9 +1614,9 @@ snapshot[`Deno.inspect(Accept) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1663,9 +1663,9 @@ snapshot[`Deno.inspect(Activity) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1761,9 +1761,9 @@ snapshot[`Deno.inspect(Activity) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1810,9 +1810,9 @@ snapshot[`Deno.inspect(Add) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1908,9 +1908,9 @@ snapshot[`Deno.inspect(Add) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1957,9 +1957,9 @@ snapshot[`Deno.inspect(Announce) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2055,9 +2055,9 @@ snapshot[`Deno.inspect(Announce) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2104,9 +2104,9 @@ snapshot[`Deno.inspect(Application) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -2234,9 +2234,9 @@ snapshot[`Deno.inspect(Application) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -2299,9 +2299,9 @@ snapshot[`Deno.inspect(Arrive) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2397,9 +2397,9 @@ snapshot[`Deno.inspect(Arrive) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2446,9 +2446,9 @@ snapshot[`Deno.inspect(Article) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, quoteUrl: URL "https://fedify.dev/" }' `; @@ -2534,9 +2534,9 @@ snapshot[`Deno.inspect(Article) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, quoteUrl: URL "https://fedify.dev/" }' `; @@ -2578,9 +2578,9 @@ snapshot[`Deno.inspect(Audio) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -2668,9 +2668,9 @@ snapshot[`Deno.inspect(Audio) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -2713,9 +2713,9 @@ snapshot[`Deno.inspect(Block) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2811,9 +2811,9 @@ snapshot[`Deno.inspect(Block) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2860,9 +2860,9 @@ snapshot[`Deno.inspect(Collection) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -2972,9 +2972,9 @@ snapshot[`Deno.inspect(Collection) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -3028,9 +3028,9 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -3146,9 +3146,9 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -3205,9 +3205,9 @@ snapshot[`Deno.inspect(Create) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3303,9 +3303,9 @@ snapshot[`Deno.inspect(Create) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3352,9 +3352,9 @@ snapshot[`Deno.inspect(Delete) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3450,9 +3450,9 @@ snapshot[`Deno.inspect(Delete) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3499,9 +3499,9 @@ snapshot[`Deno.inspect(Dislike) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3597,9 +3597,9 @@ snapshot[`Deno.inspect(Dislike) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3646,9 +3646,9 @@ snapshot[`Deno.inspect(Document) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -3736,9 +3736,9 @@ snapshot[`Deno.inspect(Document) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -3817,9 +3817,9 @@ snapshot[`Deno.inspect(Event) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/" + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {} }' `; @@ -3903,9 +3903,9 @@ snapshot[`Deno.inspect(Event) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/" + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {} }' `; @@ -3946,9 +3946,9 @@ snapshot[`Deno.inspect(Flag) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4044,9 +4044,9 @@ snapshot[`Deno.inspect(Flag) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4093,9 +4093,9 @@ snapshot[`Deno.inspect(Follow) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4191,9 +4191,9 @@ snapshot[`Deno.inspect(Follow) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4240,9 +4240,9 @@ snapshot[`Deno.inspect(Group) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -4370,9 +4370,9 @@ snapshot[`Deno.inspect(Group) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -4510,9 +4510,9 @@ snapshot[`Deno.inspect(Ignore) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4608,9 +4608,9 @@ snapshot[`Deno.inspect(Ignore) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4657,9 +4657,9 @@ snapshot[`Deno.inspect(Image) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -4747,9 +4747,9 @@ snapshot[`Deno.inspect(Image) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -4792,9 +4792,9 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4890,9 +4890,9 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4939,9 +4939,9 @@ snapshot[`Deno.inspect(Invite) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5037,9 +5037,9 @@ snapshot[`Deno.inspect(Invite) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5086,9 +5086,9 @@ snapshot[`Deno.inspect(Join) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5184,9 +5184,9 @@ snapshot[`Deno.inspect(Join) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5233,9 +5233,9 @@ snapshot[`Deno.inspect(Leave) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5331,9 +5331,9 @@ snapshot[`Deno.inspect(Leave) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5380,9 +5380,9 @@ snapshot[`Deno.inspect(Like) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5478,9 +5478,9 @@ snapshot[`Deno.inspect(Like) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5602,9 +5602,9 @@ snapshot[`Deno.inspect(Listen) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5700,9 +5700,9 @@ snapshot[`Deno.inspect(Listen) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5824,9 +5824,9 @@ snapshot[`Deno.inspect(Move) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5922,9 +5922,9 @@ snapshot[`Deno.inspect(Move) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5971,9 +5971,9 @@ snapshot[`Deno.inspect(Note) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, quoteUrl: URL "https://fedify.dev/" }' `; @@ -6059,9 +6059,9 @@ snapshot[`Deno.inspect(Note) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, quoteUrl: URL "https://fedify.dev/" }' `; @@ -6103,9 +6103,9 @@ snapshot[`Deno.inspect(Object) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/" + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {} }' `; @@ -6189,9 +6189,9 @@ snapshot[`Deno.inspect(Object) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/" + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {} }' `; @@ -6232,9 +6232,9 @@ snapshot[`Deno.inspect(Offer) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6330,9 +6330,9 @@ snapshot[`Deno.inspect(Offer) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6379,9 +6379,9 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -6491,9 +6491,9 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -6547,9 +6547,9 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -6667,9 +6667,9 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -6727,9 +6727,9 @@ snapshot[`Deno.inspect(Organization) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -6857,9 +6857,9 @@ snapshot[`Deno.inspect(Organization) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -6922,9 +6922,9 @@ snapshot[`Deno.inspect(Page) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -7012,9 +7012,9 @@ snapshot[`Deno.inspect(Page) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -7057,9 +7057,9 @@ snapshot[`Deno.inspect(Person) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -7187,9 +7187,9 @@ snapshot[`Deno.inspect(Person) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -7252,9 +7252,9 @@ snapshot[`Deno.inspect(Place) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -7350,9 +7350,9 @@ snapshot[`Deno.inspect(Place) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -7399,9 +7399,9 @@ snapshot[`Deno.inspect(Profile) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, describes: Object {} }' `; @@ -7487,9 +7487,9 @@ snapshot[`Deno.inspect(Profile) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, describes: Object {} }' `; @@ -7531,9 +7531,9 @@ snapshot[`Deno.inspect(Question) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7639,9 +7639,9 @@ snapshot[`Deno.inspect(Question) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7693,9 +7693,9 @@ snapshot[`Deno.inspect(Read) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7791,9 +7791,9 @@ snapshot[`Deno.inspect(Read) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7840,9 +7840,9 @@ snapshot[`Deno.inspect(Reject) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7938,9 +7938,9 @@ snapshot[`Deno.inspect(Reject) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7987,9 +7987,9 @@ snapshot[`Deno.inspect(Relationship) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, subject: Object {}, object: Object {}, relationship: Object {} @@ -8079,9 +8079,9 @@ snapshot[`Deno.inspect(Relationship) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, subject: Object {}, objects: [ Object {}, Object {} ], relationships: [ Object {}, Object {} ] @@ -8125,9 +8125,9 @@ snapshot[`Deno.inspect(Remove) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -8223,9 +8223,9 @@ snapshot[`Deno.inspect(Remove) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -8272,9 +8272,9 @@ snapshot[`Deno.inspect(Service) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -8402,9 +8402,9 @@ snapshot[`Deno.inspect(Service) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -8491,9 +8491,9 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -8589,9 +8589,9 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -8638,9 +8638,9 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -8736,9 +8736,9 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -8785,9 +8785,9 @@ snapshot[`Deno.inspect(Tombstone) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, deleted: 2024-03-03T08:30:06.796196096Z }' `; @@ -8873,9 +8873,9 @@ snapshot[`Deno.inspect(Tombstone) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, deleted: 2024-03-03T08:30:06.796196096Z }' `; @@ -8917,9 +8917,9 @@ snapshot[`Deno.inspect(Travel) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9015,9 +9015,9 @@ snapshot[`Deno.inspect(Travel) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -9064,9 +9064,9 @@ snapshot[`Deno.inspect(Undo) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9162,9 +9162,9 @@ snapshot[`Deno.inspect(Undo) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -9211,9 +9211,9 @@ snapshot[`Deno.inspect(Update) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9309,9 +9309,9 @@ snapshot[`Deno.inspect(Update) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -9358,9 +9358,9 @@ snapshot[`Deno.inspect(Video) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -9448,9 +9448,9 @@ snapshot[`Deno.inspect(Video) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, width: 123, height: 123 }' @@ -9493,9 +9493,9 @@ snapshot[`Deno.inspect(View) [auto] 1`] = ` proof: DataIntegrityProof {}, interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9591,9 +9591,9 @@ snapshot[`Deno.inspect(View) [auto] 3`] = ` proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ], interactionPolicy: InteractionPolicy {}, approvedBy: URL "https://example.com/", - likeAuthorization: URL "https://example.com/", - replyAuthorization: URL "https://example.com/", - announceAuthorization: URL "https://example.com/", + likeAuthorization: LikeAuthorization {}, + replyAuthorization: ReplyAuthorization {}, + announceAuthorization: AnnounceAuthorization {}, actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], diff --git a/packages/vocab/src/object.yaml b/packages/vocab/src/object.yaml index 7d20e85f3..edd0fd06d 100644 --- a/packages/vocab/src/object.yaml +++ b/packages/vocab/src/object.yaml @@ -439,27 +439,27 @@ properties: compactName: likeAuthorization uri: "https://gotosocial.org/ns#likeAuthorization" description: | - A URI referencing a {@link LikeAuthorization} object that proves - this like interaction was approved by the target post's author. + A {@link LikeAuthorization} object that proves this like interaction + was approved by the target post's author. range: - - "http://www.w3.org/2001/XMLSchema#anyURI" + - "https://gotosocial.org/ns#LikeApproval" - singularName: replyAuthorization functional: true compactName: replyAuthorization uri: "https://gotosocial.org/ns#replyAuthorization" description: | - A URI referencing a {@link ReplyAuthorization} object that proves - this reply was approved by the target post's author. + A {@link ReplyAuthorization} object that proves this reply was approved + by the target post's author. range: - - "http://www.w3.org/2001/XMLSchema#anyURI" + - "https://gotosocial.org/ns#ReplyAuthorization" - singularName: announceAuthorization functional: true compactName: announceAuthorization uri: "https://gotosocial.org/ns#announceAuthorization" description: | - A URI referencing an {@link AnnounceAuthorization} object that proves - this announce (boost) was approved by the target post's author. + An {@link AnnounceAuthorization} object that proves this announce + (boost) was approved by the target post's author. range: - - "http://www.w3.org/2001/XMLSchema#anyURI" + - "https://gotosocial.org/ns#AnnounceAuthorization"