From 1ee24c39f008059f01695e66c133bf501c945f1c Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Mon, 5 Oct 2026 20:45:49 +0900 Subject: [PATCH] Add FEP-6757 content license metadata Give ActivityStreams objects and links an explicit copyright license, as proposed by the FEP-6757 draft, so that publishers can state what they allow and consumers can tell what they may do with received content. Object and Link gain non-functional licenses written as the Dublin Core license property. The Schema.org and Creative Commons license properties are read as synonyms when it is absent, but never merged with it or written. The five actor types gain a functional preferredLicense, which is a default for new objects and not a fallback for unlicensed ones. Fedify does not synthesize a default license and never fetches a license URI. http://schema.org/license is deliberately not a synonym: PeerTube uses it for licence descriptions that are not URIs, and reading them would drop the cached input of every PeerTube video that has one. License values use a new fedify:absoluteIri range. It writes IRI references like xsd:anyURI, but also reads string literals, which the FEP's own schema:license example produces, and never resolves a value against the object's ID, so license names and SPDX identifiers are skipped instead of becoming URLs on the publisher's server. The extraContext detection now also scans the values before compaction. Activity contexts include https://w3id.org/identity/v1, whose dc prefix otherwise compacted license to dc:license in every Create without the FEP context, which plain JSON consumers would not recognize. This also avoids compacting a licensed object twice in the common case. Fixes https://github.com/fedify-dev/fedify/issues/1212 Assisted-by: Claude Code:claude-opus-5-5 Assisted-by: Codex:gpt-6-astra Assisted-by: Claude Code:claude-fable-5-1 --- .agents/skills/add-vocab/SKILL.md | 1 + CHANGES.md | 34 +- FEDERATION.md | 2 + changes.d/vocab-tools/absolute-iri.md | 15 + changes.d/vocab/content-license.md | 23 + docs/manual/pragmatics.md | 96 + packages/fedify/src/sig/proof.test.ts | 150 ++ .../src/fixtures/w3id.org/fep/6757.json | 12 + packages/vocab-tools/README.md | 18 +- .../src/__snapshots__/class.test.ts.deno.snap | 2279 +++++++++++++++-- .../src/__snapshots__/class.test.ts.node.snap | 2279 +++++++++++++++-- .../src/__snapshots__/class.test.ts.snap | 2279 +++++++++++++++-- packages/vocab-tools/src/class.ts | 58 +- packages/vocab-tools/src/codec.test.ts | 72 +- packages/vocab-tools/src/codec.ts | 26 +- packages/vocab-tools/src/type.ts | 19 + .../src/__snapshots__/vocab.test.ts.snap | 513 +++- packages/vocab/src/application.yaml | 15 + packages/vocab/src/group.yaml | 15 + packages/vocab/src/license.test.ts | 588 +++++ packages/vocab/src/link.yaml | 25 + packages/vocab/src/object.yaml | 30 + packages/vocab/src/organization.yaml | 15 + packages/vocab/src/person.yaml | 15 + packages/vocab/src/service.yaml | 15 + packages/vocab/src/vocab.test.ts | 24 +- 26 files changed, 8091 insertions(+), 527 deletions(-) create mode 100644 changes.d/vocab-tools/absolute-iri.md create mode 100644 changes.d/vocab/content-license.md create mode 100644 packages/fixture/src/fixtures/w3id.org/fep/6757.json create mode 100644 packages/vocab/src/license.test.ts diff --git a/.agents/skills/add-vocab/SKILL.md b/.agents/skills/add-vocab/SKILL.md index dbabc09bc..94d0b286e 100644 --- a/.agents/skills/add-vocab/SKILL.md +++ b/.agents/skills/add-vocab/SKILL.md @@ -313,6 +313,7 @@ Range type reference | --------------------- | ------------------------------------------------------ | ----------------------------------- | | `fedify:langTag` | `Intl.Locale` | BCP 47 language tag as plain string | | `fedify:url` | `URL` | URL stored as `@value` (not `@id`) | +| `fedify:absoluteIri` | `URL` | Absolute IRI stored as `@id`; also reads literals, never resolves relative values | | `fedify:publicKey` | `CryptoKey` | PEM SPKI-encoded public key | | `fedify:multibaseKey` | `CryptoKey` | Multibase-encoded key (Ed25519) | | `fedify:proofPurpose` | `"assertionMethod" \| "authentication" \| ...` | Proof purpose string | diff --git a/CHANGES.md b/CHANGES.md index 4d3a4f422..27603da66 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -32,6 +32,29 @@ To be released. [#896]: https://github.com/fedify-dev/fedify/issues/896 [#1204]: https://github.com/fedify-dev/fedify/issues/1204 +### @fedify/vocab + + - Added vocabulary support for the [FEP-6757] draft, which marks + ActivityPub content with explicit copyright license URIs. + [[#1212], [#1241]] + + - Added `Object.licenses` and `Link.licenses` properties for the + alternative licenses of an object or a link. They write the Dublin + Core `license` property and also read the Schema.org and Creative + Commons `license` properties when it is absent. Values that are not + absolute URIs, such as license names or SPDX short identifiers, are + skipped. + - Added `preferredLicense` property to `Application`, `Group`, + `Organization`, `Person`, and `Service` for the license an actor + prefers for its new objects. It is not a fallback for objects without + their own license. + - Fedify does not fill in a default license for objects without license + metadata and never fetches a license URI. + +[FEP-6757]: https://w3id.org/fep/6757 +[#1212]: https://github.com/fedify-dev/fedify/issues/1212 +[#1241]: https://github.com/fedify-dev/fedify/pull/1241 + ### @fedify/vocab-runtime - Added `normalizeLanguageTag()` function, which replaces a language tag @@ -51,6 +74,16 @@ To be released. only the canonical property while accepting synonyms. Fixed serialization of synonyms without a compact name and validation of synonym definitions. [[#1210], [#1215]] + - Added the `fedify:absoluteIri` range for URLs written as IRI references + that also accept string literals when read. Unlike + `http://www.w3.org/2001/XMLSchema#anyURI`, it never resolves a value + against the object's ID, and skips values that are not absolute instead of + failing the whole object. [[#1212], [#1241]] + - Changed `extraContext` to add its context when the property is populated + even if the default context defines a matching prefix, such as `dc` in + `https://w3id.org/identity/v1`. Previously, such a property compacted to + a prefixed name like `dc:license` without the extra context. + [[#1212], [#1241]] [#1210]: https://github.com/fedify-dev/fedify/issues/1210 [#1215]: https://github.com/fedify-dev/fedify/pull/1215 @@ -106,7 +139,6 @@ Released on October 5, 2026. literals and remain arrays when compacted, matching Mastodon's context. [[#1233], [#1235]] -[FEP-6757]: https://w3id.org/fep/6757 [#1211]: https://github.com/fedify-dev/fedify/issues/1211 [#1216]: https://github.com/fedify-dev/fedify/pull/1216 [#1233]: https://github.com/fedify-dev/fedify/issues/1233 diff --git a/FEDERATION.md b/FEDERATION.md index 79d877717..d698cbf30 100644 --- a/FEDERATION.md +++ b/FEDERATION.md @@ -40,6 +40,7 @@ Supported FEPs - [FEP-044f][]: Consent-respecting quote posts - [FEP-7aa9][]: Featuring recommendations using a dedicated collection - [FEP-22cd][]: Attributing translations + - [FEP-6757][]: Content license metadata - [FEP-0837][]: Federated Marketplace - [FEP-ae0c][]: Fediverse Relay Protocols: Mastodon and LitePub - [FEP-ef61][]: Portable Objects (partial; see [below][FEP-ef61 section]) @@ -60,6 +61,7 @@ Supported FEPs [FEP-044f]: https://w3id.org/fep/044f [FEP-7aa9]: https://w3id.org/fep/7aa9 [FEP-22cd]: https://w3id.org/fep/22cd +[FEP-6757]: https://w3id.org/fep/6757 [FEP-0837]: https://w3id.org/fep/0837 [FEP-ae0c]: https://w3id.org/fep/ae0c [FEP-ef61 section]: #fep-ef61 diff --git a/changes.d/vocab-tools/absolute-iri.md b/changes.d/vocab-tools/absolute-iri.md new file mode 100644 index 000000000..e61b63f75 --- /dev/null +++ b/changes.d/vocab-tools/absolute-iri.md @@ -0,0 +1,15 @@ +--- +links: + '#1212': https://github.com/fedify-dev/fedify/issues/1212 + '#1241': https://github.com/fedify-dev/fedify/pull/1241 +--- + - Added the `fedify:absoluteIri` range for URLs written as IRI references + that also accept string literals when read. Unlike + `http://www.w3.org/2001/XMLSchema#anyURI`, it never resolves a value + against the object's ID, and skips values that are not absolute instead of + failing the whole object. [[#1212], [#1241]] + - Changed `extraContext` to add its context when the property is populated + even if the default context defines a matching prefix, such as `dc` in + `https://w3id.org/identity/v1`. Previously, such a property compacted to + a prefixed name like `dc:license` without the extra context. + [[#1212], [#1241]] diff --git a/changes.d/vocab/content-license.md b/changes.d/vocab/content-license.md new file mode 100644 index 000000000..11ced6db4 --- /dev/null +++ b/changes.d/vocab/content-license.md @@ -0,0 +1,23 @@ +--- +links: + '#1212': https://github.com/fedify-dev/fedify/issues/1212 + '#1241': https://github.com/fedify-dev/fedify/pull/1241 +--- + - Added vocabulary support for the [FEP-6757] draft, which marks + ActivityPub content with explicit copyright license URIs. + [[#1212], [#1241]] + + - Added `Object.licenses` and `Link.licenses` properties for the + alternative licenses of an object or a link. They write the Dublin + Core `license` property and also read the Schema.org and Creative + Commons `license` properties when it is absent. Values that are not + absolute URIs, such as license names or SPDX short identifiers, are + skipped. + - Added `preferredLicense` property to `Application`, `Group`, + `Organization`, `Person`, and `Service` for the license an actor + prefers for its new objects. It is not a fallback for objects without + their own license. + - Fedify does not fill in a default license for objects without license + metadata and never fetches a license URI. + +[FEP-6757]: https://w3id.org/fep/6757 diff --git a/docs/manual/pragmatics.md b/docs/manual/pragmatics.md index beb407c8a..1b99e1f3f 100644 --- a/docs/manual/pragmatics.md +++ b/docs/manual/pragmatics.md @@ -778,6 +778,102 @@ parsing these fields does not verify the credit or authorize an activity. [FEP-22cd]: https://w3id.org/fep/22cd +### License metadata + +`Object.licenses` and `Link.licenses` hold the copyright licenses of a piece of +content as URIs, and actors have a `preferredLicense` for the new objects they +create. Both are defined by [FEP-6757], which recommends a `license` on +content objects such as `Note`, `Article`, `Image`, `Video`, and `Audio`. + +> [!WARNING] +> This implements [FEP-6757]. +> The proposal may change, and few other implementations read these properties +> yet. A license is a claim made by the publisher; Fedify does not enforce it. + +Identify a license by its URI, not by its name or SPDX short identifier. +Prefer the canonical URIs of the [Creative Commons licenses], CC0 +(), the Public Domain Mark +(), or the +[Rights Statements] such as +(“in copyright”): + +~~~~ typescript twoslash +import { Image, Note } from "@fedify/vocab"; + +const note = new Note({ + id: new URL("https://example.com/notes/1"), + content: "Hello, world!", + licenses: [new URL("https://creativecommons.org/licenses/by/4.0/")], + attachments: [ + new Image({ + url: new URL("https://example.com/media/1.jpg"), + mediaType: "image/jpeg", + licenses: [new URL("https://creativecommons.org/publicdomain/mark/1.0/")], + }), + ], +}); +~~~~ + +Multiple licenses are alternatives that a consumer may choose from, so their +order has no meaning. Fedify adds the preloaded `https://w3id.org/fep/6757` +context when license metadata needs it; objects without it keep their existing +output. If you supply an explicit context to +`toJsonLd({ format: "compact", context: ... })`, include the FEP context to get +the `license` and `preferredLicense` term names. + +When reading, Fedify also accepts the `https://schema.org/license` and +`http://creativecommons.org/ns#license` properties that the FEP allows as +alternatives, but only when the object has no `license`; the sets are never +merged. The `http://schema.org/license` property is not read, because +PeerTube uses it for licence descriptions that are not URIs. It writes only +`license`. Values that are not absolute URIs, such as `"CC-BY-4.0"`, are +skipped. Fedify never fetches a license URI. + +A license applies only to the object that carries it. A license on an actor +covers its profile, not the posts it authored; a license on an activity or a +collection does not cover the activity's object or the collection's items. + +#### Missing licenses + +An empty `licenses` array means the object carries no license metadata, and +Fedify does not fill in a default. [FEP-6757] suggests that consumers treat +such content as “all rights reserved,” that is, as if its license were +. Apply that policy where you +decide what to do with the content rather than storing it as the object's +license: + +~~~~ typescript twoslash +import type { Note } from "@fedify/vocab"; +declare const note: Note; +// ---cut-before--- +const allRightsReserved = new URL("https://rightsstatements.org/vocab/InC/1.0/"); +const licenses = note.licenses.length > 0 ? note.licenses : [allRightsReserved]; +~~~~ + +#### Preferred license of an actor + +`preferredLicense` tells a client which license to select by default when the +actor creates a new object; the client should still let the user choose +another: + +~~~~ typescript twoslash +import { Note, Person } from "@fedify/vocab"; +declare const actor: Person; +// ---cut-before--- +const note = new Note({ + attribution: actor.id, + content: "Hello, world!", + licenses: actor.preferredLicense == null ? [] : [actor.preferredLicense], +}); +~~~~ + +It is not a fallback: an object without its own `license` is not licensed under +its author's `preferredLicense`. + +[FEP-6757]: https://w3id.org/fep/6757 +[Creative Commons licenses]: https://creativecommons.org/licenses/ +[Rights Statements]: https://rightsstatements.org/page/1.0/ + ### `Question`: Polls The `Question` type is used for polls. In Mastodon, the question body comes diff --git a/packages/fedify/src/sig/proof.test.ts b/packages/fedify/src/sig/proof.test.ts index 0d8760d17..05041a0ac 100644 --- a/packages/fedify/src/sig/proof.test.ts +++ b/packages/fedify/src/sig/proof.test.ts @@ -3442,6 +3442,156 @@ test("signObject() preserves FEP-22cd contexts through proof verification", asyn assertEquals(verified.translations[0].language?.baseName, "ko"); }); +async function signLicensedNote( + license: Record, + context: unknown[] = [], +): Promise> { + return await signPortableJsonLd({ + "@context": [...portableContext, ...context], + // Fedify formats portable IDs with the ap+ef61: scheme, so these round-trip + // without changing the signed bytes: + id: `ap+ef61://${portableDid}/objects/licensed`, + type: "Note", + attributedTo: `ap+ef61://${portableDid}/actor`, + content: "A licensed note", + ...license, + }); +} + +const licenseVerifyOptions = { + documentLoader() { + throw new Error("No document fetch expected"); + }, + contextLoader: mockDocumentLoader, +}; + +test("verifyObject() keeps FEP-6757 license synonyms of a parsed object", async () => { + const license = "https://creativecommons.org/licenses/by/4.0/"; + const signed = await signLicensedNote( + { "schema:license": license }, + [{ schema: "https://schema.org/" }], + ); + const verified = await verifyObject(Note, signed, licenseVerifyOptions); + assertInstanceOf(verified, Note); + assertEquals(verified.licenses, [new URL(license)]); + // Reading a synonym must not rewrite the proof-covered input: + const parsed = await Note.fromJsonLd(signed, licenseVerifyOptions); + const json = await parsed.toJsonLd() as Record; + assertEquals(json, signed); + assertFalse("license" in json); + assertInstanceOf( + await verifyObject(Note, json, licenseVerifyOptions), + Note, + ); +}); + +test("signObject() signs FEP-6757 licenses", async () => { + const license = new URL("https://creativecommons.org/licenses/by/4.0/"); + const signed = await signObject( + new Note({ + id: parseIri(`ap://${portableDid}/objects/licensed`), + attribution: parseIri(`ap://${portableDid}/actor`), + content: "A licensed note", + licenses: [license], + }), + ed25519PrivateKey, + portableKeyId, + { contextLoader: mockDocumentLoader }, + ); + const json = await signed.toJsonLd({ + format: "compact", + contextLoader: mockDocumentLoader, + }) as Record; + assertEquals(json.license, license.href); + assert((json["@context"] as unknown[]).includes("https://w3id.org/fep/6757")); + const verified = await verifyObject(Note, json, licenseVerifyOptions); + assertInstanceOf(verified, Note); + assertEquals(verified.licenses, [license]); + + // The signed note embedded in an activity keeps its own representation: + const create = await new Create({ + actor: parseIri(`ap://${portableDid}/actor`), + object: signed, + }).toJsonLd({ contextLoader: mockDocumentLoader }) as Record< + string, + unknown + >; + assertEquals(create.object, json); + assertInstanceOf( + await verifyObject(Note, create.object, licenseVerifyOptions), + Note, + ); + + // Changing the license invalidates the proof until the note is re-signed: + const relicensed = signed.clone({ + licenses: [new URL("https://creativecommons.org/publicdomain/zero/1.0/")], + }); + assertEquals( + await verifyObject( + Note, + await relicensed.toJsonLd({ contextLoader: mockDocumentLoader }), + licenseVerifyOptions, + ), + null, + ); + const resigned = await signObject( + relicensed.clone({ proofs: [] }), + ed25519PrivateKey, + portableKeyId, + { contextLoader: mockDocumentLoader }, + ); + assertInstanceOf( + await verifyObject( + Note, + await resigned.toJsonLd({ contextLoader: mockDocumentLoader }), + licenseVerifyOptions, + ), + Note, + ); +}); + +test("verifyObject() and FEP-6757 licenses that cannot be preserved", async () => { + const license = "https://creativecommons.org/licenses/by/4.0/"; + const contexts = ["https://w3id.org/fep/6757"]; + // A parsed note embedded in a new activity is serialized again, which + // writes the canonical license property instead of the synonym: + const aliased = await signLicensedNote( + { "schema:license": license }, + [{ schema: "https://schema.org/" }], + ); + const create = await new Create({ + actor: parseIri(`ap://${portableDid}/actor`), + object: await Note.fromJsonLd(aliased, licenseVerifyOptions), + }).toJsonLd({ + format: "compact", + contextLoader: mockDocumentLoader, + }) as Record; + const object = create.object as Record; + assertEquals(object.license, license); + assertEquals( + await verifyObject( + Note, + { ...object, "@context": create["@context"] }, + licenseVerifyOptions, + ), + null, + ); + + // A license value that is dropped while parsing makes the parsed object + // lose its cached input, so its serialization no longer verifies: + const invalid = await signLicensedNote( + { license: ["CC-BY-4.0", license] }, + contexts, + ); + const verified = await verifyObject(Note, invalid, licenseVerifyOptions); + assertInstanceOf(verified, Note); + assertEquals(verified.licenses, [new URL(license)]); + const parsed = await Note.fromJsonLd(invalid, licenseVerifyOptions); + const json = await parsed.toJsonLd() as Record; + assertEquals(json.license, license); + assertEquals(await verifyObject(Note, json, licenseVerifyOptions), null); +}); + test("verifyObject() rejects a key that claims a forged controller", async () => { // Object Integrity Proofs clear an object's attributions with the // `controller` the signing key declares about itself, and this path needs diff --git a/packages/fixture/src/fixtures/w3id.org/fep/6757.json b/packages/fixture/src/fixtures/w3id.org/fep/6757.json new file mode 100644 index 000000000..f3e00f587 --- /dev/null +++ b/packages/fixture/src/fixtures/w3id.org/fep/6757.json @@ -0,0 +1,12 @@ +{ + "@context": { + "license": { + "@id": "http://purl.org/dc/terms/license", + "@type": "@id" + }, + "preferredLicense": { + "@id": "https://w3id.org/fep/6757#preferredLicense", + "@type": "@id" + } + } +} diff --git a/packages/vocab-tools/README.md b/packages/vocab-tools/README.md index 012c9dd52..335918a1a 100644 --- a/packages/vocab-tools/README.md +++ b/packages/vocab-tools/README.md @@ -52,10 +52,20 @@ Conditional contexts and metadata trust --------------------------------------- A property schema can set `extraContext` to a context URL. The generated -serializer adds it to its default context when the property's expanded IRI -appears after compaction, including inside nested objects. A caller-provided -context takes precedence. When populated, such a property uses the JSON-LD -processor so context container rules, including `@set`, are respected. +serializer adds it to its default context when the property is populated, +including inside nested objects, even if the default context already defines a +prefix that could abbreviate the property's IRI. A nested object kept in its +received form is recognized by the context URL or the full property IRI it +uses. A caller-provided context takes precedence. When populated, such a +property uses the JSON-LD processor so context container rules, including +`@set`, are respected. + +The `fedify:absoluteIri` range is a `URL` written as an IRI reference +(`@id`). When reading, it also accepts plain string literals and literals +typed as `xsd:string` or `xsd:anyURI`, because publishers do not always coerce +the property's term to an IRI. The decoder never resolves a value against the +object's ID or a base URL, so a value must already be absolute after JSON-LD +expansion; values that are not are skipped. A type schema can set `trustEmbeddedObjects: false` when its identifier is metadata rather than a resource that establishes an origin. Its own 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 f9a1a6c3a..82b8b4944 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.deno.snap @@ -91,8 +91,33 @@ function isValidLanguageTag(language: string): boolean { } } +function getAbsoluteIriValue(value: unknown): string | undefined { + if (value == null || typeof value !== \\"object\\") return undefined; + const node = value as Record; + if (typeof node[\\"@id\\"] === \\"string\\") { + return node[\\"@id\\"].startsWith(\\"_:\\") ? undefined : node[\\"@id\\"]; + } + // A language tag can come from a context's default language, so it does + // not make a literal any less of an IRI: + if (typeof node[\\"@value\\"] !== \\"string\\") return undefined; + const type = node[\\"@type\\"]; + return type == null || + type === \\"http://www.w3.org/2001/XMLSchema#string\\" || + type === \\"http://www.w3.org/2001/XMLSchema#anyURI\\" + ? node[\\"@value\\"] + : undefined; +} + +function isAbsoluteIriValue(value: unknown): boolean { + const iri = getAbsoluteIriValue(value); + return iri != null && canDecodeIri(iri); +} + const extraPropertyContexts: Readonly> = - {\\"https://schema.org/translator\\":\\"https://w3id.org/fep/22cd\\",\\"https://w3id.org/fep/22cd#translations\\":\\"https://w3id.org/fep/22cd\\"}; + {\\"https://schema.org/translator\\":\\"https://w3id.org/fep/22cd\\",\\"https://w3id.org/fep/6757#preferredLicense\\":\\"https://w3id.org/fep/6757\\",\\"http://purl.org/dc/terms/license\\":\\"https://w3id.org/fep/6757\\",\\"https://w3id.org/fep/22cd#translations\\":\\"https://w3id.org/fep/22cd\\"}; + +const extraContextUrls: readonly string[] = + [\\"https://w3id.org/fep/22cd\\",\\"https://w3id.org/fep/6757\\"]; function getExtraContexts(document: unknown): string[] { const contexts = new Set(); @@ -106,7 +131,16 @@ function getExtraContexts(document: unknown): string[] { } if (\\"@value\\" in value) continue; for (const [key, child] of globalThis.Object.entries(value)) { - if (key === \\"@context\\") continue; + if (key === \\"@context\\") { + for (const context of Array.isArray(child) ? child : [child]) { + if ( + typeof context === \\"string\\" && extraContextUrls.includes(context) + ) { + contexts.add(context); + } + } + continue; + } if (globalThis.Object.hasOwn(extraPropertyContexts, key)) { contexts.add(extraPropertyContexts[key]); } @@ -118,7 +152,7 @@ function getExtraContexts(document: unknown): string[] { const PORTABLE_IRI_PATTERN = /^ap(?:\\\\+ef61)?:\\\\/\\\\//i; -const PORTABLE_IRI_KEYS: ReadonlySet = new Set([\\"@id\\",\\"_misskey_quote\\",\\"actor\\",\\"alsoKnownAs\\",\\"announceAuthorization\\",\\"anyOf\\",\\"approvedBy\\",\\"assertionMethod\\",\\"attachment\\",\\"attributedTo\\",\\"audience\\",\\"automaticApproval\\",\\"bcc\\",\\"bto\\",\\"cc\\",\\"context\\",\\"controller\\",\\"current\\",\\"describes\\",\\"emojiReactions\\",\\"featureAuthorization\\",\\"featured\\",\\"featuredCollections\\",\\"featuredObject\\",\\"featuredTags\\",\\"first\\",\\"followers\\",\\"followersOf\\",\\"following\\",\\"followingOf\\",\\"generator\\",\\"href\\",\\"http://fedibird.com/ns#emojiReactions\\",\\"http://fedibird.com/ns#quoteUri\\",\\"http://joinmastodon.org/ns#featured\\",\\"http://joinmastodon.org/ns#featuredTags\\",\\"http://www.w3.org/ns/ldp#inbox\\",\\"https://gotosocial.org/ns#announceAuthorization\\",\\"https://gotosocial.org/ns#approvedBy\\",\\"https://gotosocial.org/ns#automaticApproval\\",\\"https://gotosocial.org/ns#interactingObject\\",\\"https://gotosocial.org/ns#interactionTarget\\",\\"https://gotosocial.org/ns#likeAuthorization\\",\\"https://gotosocial.org/ns#manualApproval\\",\\"https://gotosocial.org/ns#replyAuthorization\\",\\"https://misskey-hub.net/ns#_misskey_quote\\",\\"https://schema.org/isBasedOn\\",\\"https://schema.org/translationOfWork\\",\\"https://schema.org/translator\\",\\"https://w3id.org/fep/044f#quote\\",\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"https://w3id.org/fep/5711#followersOf\\",\\"https://w3id.org/fep/5711#followingOf\\",\\"https://w3id.org/fep/5711#inboxOf\\",\\"https://w3id.org/fep/5711#likedOf\\",\\"https://w3id.org/fep/5711#likesOf\\",\\"https://w3id.org/fep/5711#outboxOf\\",\\"https://w3id.org/fep/5711#repliesOf\\",\\"https://w3id.org/fep/5711#sharesOf\\",\\"https://w3id.org/fep/7aa9#featureAuthorization\\",\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"https://w3id.org/fep/7aa9#featuredObject\\",\\"https://w3id.org/security#assertionMethod\\",\\"https://w3id.org/security#controller\\",\\"https://w3id.org/security#owner\\",\\"https://w3id.org/security#proof\\",\\"https://w3id.org/security#publicKey\\",\\"https://w3id.org/security#verificationMethod\\",\\"https://w3id.org/valueflows/ont/vf#resourceConformsTo\\",\\"https://w3id.org/valueflows/ont/vf#satisfies\\",\\"https://www.w3.org/ns/activitystreams#actor\\",\\"https://www.w3.org/ns/activitystreams#alsoKnownAs\\",\\"https://www.w3.org/ns/activitystreams#anyOf\\",\\"https://www.w3.org/ns/activitystreams#attachment\\",\\"https://www.w3.org/ns/activitystreams#attributedTo\\",\\"https://www.w3.org/ns/activitystreams#audience\\",\\"https://www.w3.org/ns/activitystreams#bcc\\",\\"https://www.w3.org/ns/activitystreams#bto\\",\\"https://www.w3.org/ns/activitystreams#cc\\",\\"https://www.w3.org/ns/activitystreams#context\\",\\"https://www.w3.org/ns/activitystreams#current\\",\\"https://www.w3.org/ns/activitystreams#describes\\",\\"https://www.w3.org/ns/activitystreams#first\\",\\"https://www.w3.org/ns/activitystreams#followers\\",\\"https://www.w3.org/ns/activitystreams#following\\",\\"https://www.w3.org/ns/activitystreams#generator\\",\\"https://www.w3.org/ns/activitystreams#href\\",\\"https://www.w3.org/ns/activitystreams#icon\\",\\"https://www.w3.org/ns/activitystreams#image\\",\\"https://www.w3.org/ns/activitystreams#inReplyTo\\",\\"https://www.w3.org/ns/activitystreams#instrument\\",\\"https://www.w3.org/ns/activitystreams#items\\",\\"https://www.w3.org/ns/activitystreams#last\\",\\"https://www.w3.org/ns/activitystreams#liked\\",\\"https://www.w3.org/ns/activitystreams#likes\\",\\"https://www.w3.org/ns/activitystreams#location\\",\\"https://www.w3.org/ns/activitystreams#movedTo\\",\\"https://www.w3.org/ns/activitystreams#next\\",\\"https://www.w3.org/ns/activitystreams#oauthAuthorizationEndpoint\\",\\"https://www.w3.org/ns/activitystreams#oauthTokenEndpoint\\",\\"https://www.w3.org/ns/activitystreams#object\\",\\"https://www.w3.org/ns/activitystreams#oneOf\\",\\"https://www.w3.org/ns/activitystreams#origin\\",\\"https://www.w3.org/ns/activitystreams#outbox\\",\\"https://www.w3.org/ns/activitystreams#partOf\\",\\"https://www.w3.org/ns/activitystreams#prev\\",\\"https://www.w3.org/ns/activitystreams#preview\\",\\"https://www.w3.org/ns/activitystreams#provideClientKey\\",\\"https://www.w3.org/ns/activitystreams#proxyUrl\\",\\"https://www.w3.org/ns/activitystreams#quoteUrl\\",\\"https://www.w3.org/ns/activitystreams#relationship\\",\\"https://www.w3.org/ns/activitystreams#replies\\",\\"https://www.w3.org/ns/activitystreams#result\\",\\"https://www.w3.org/ns/activitystreams#sharedInbox\\",\\"https://www.w3.org/ns/activitystreams#shares\\",\\"https://www.w3.org/ns/activitystreams#signClientKey\\",\\"https://www.w3.org/ns/activitystreams#streams\\",\\"https://www.w3.org/ns/activitystreams#subject\\",\\"https://www.w3.org/ns/activitystreams#tag\\",\\"https://www.w3.org/ns/activitystreams#target\\",\\"https://www.w3.org/ns/activitystreams#to\\",\\"https://www.w3.org/ns/activitystreams#units\\",\\"https://www.w3.org/ns/activitystreams#uploadMedia\\",\\"https://www.w3.org/ns/activitystreams#url\\",\\"https://www.w3.org/ns/did#service\\",\\"https://www.w3.org/ns/did#serviceEndpoint\\",\\"icon\\",\\"id\\",\\"image\\",\\"inReplyTo\\",\\"inbox\\",\\"inboxOf\\",\\"instrument\\",\\"interactingObject\\",\\"interactionTarget\\",\\"isBasedOn\\",\\"items\\",\\"last\\",\\"likeAuthorization\\",\\"liked\\",\\"likedOf\\",\\"likes\\",\\"likesOf\\",\\"location\\",\\"manualApproval\\",\\"movedTo\\",\\"next\\",\\"oauthAuthorizationEndpoint\\",\\"oauthTokenEndpoint\\",\\"object\\",\\"oneOf\\",\\"orderedItems\\",\\"origin\\",\\"outbox\\",\\"outboxOf\\",\\"owner\\",\\"partOf\\",\\"prev\\",\\"preview\\",\\"proof\\",\\"provideClientKey\\",\\"proxyUrl\\",\\"publicKey\\",\\"quote\\",\\"quoteAuthorization\\",\\"quoteUri\\",\\"quoteUrl\\",\\"relationship\\",\\"replies\\",\\"repliesOf\\",\\"replyAuthorization\\",\\"resourceConformsTo\\",\\"result\\",\\"satisfies\\",\\"service\\",\\"sharedInbox\\",\\"shares\\",\\"sharesOf\\",\\"signClientKey\\",\\"streams\\",\\"subject\\",\\"tag\\",\\"target\\",\\"to\\",\\"translationOfWork\\",\\"translator\\",\\"units\\",\\"uploadMedia\\",\\"url\\"]); +const PORTABLE_IRI_KEYS: ReadonlySet = new Set([\\"@id\\",\\"_misskey_quote\\",\\"actor\\",\\"alsoKnownAs\\",\\"announceAuthorization\\",\\"anyOf\\",\\"approvedBy\\",\\"assertionMethod\\",\\"attachment\\",\\"attributedTo\\",\\"audience\\",\\"automaticApproval\\",\\"bcc\\",\\"bto\\",\\"cc\\",\\"context\\",\\"controller\\",\\"current\\",\\"describes\\",\\"emojiReactions\\",\\"featureAuthorization\\",\\"featured\\",\\"featuredCollections\\",\\"featuredObject\\",\\"featuredTags\\",\\"first\\",\\"followers\\",\\"followersOf\\",\\"following\\",\\"followingOf\\",\\"generator\\",\\"href\\",\\"http://creativecommons.org/ns#license\\",\\"http://fedibird.com/ns#emojiReactions\\",\\"http://fedibird.com/ns#quoteUri\\",\\"http://joinmastodon.org/ns#featured\\",\\"http://joinmastodon.org/ns#featuredTags\\",\\"http://purl.org/dc/terms/license\\",\\"http://www.w3.org/ns/ldp#inbox\\",\\"https://gotosocial.org/ns#announceAuthorization\\",\\"https://gotosocial.org/ns#approvedBy\\",\\"https://gotosocial.org/ns#automaticApproval\\",\\"https://gotosocial.org/ns#interactingObject\\",\\"https://gotosocial.org/ns#interactionTarget\\",\\"https://gotosocial.org/ns#likeAuthorization\\",\\"https://gotosocial.org/ns#manualApproval\\",\\"https://gotosocial.org/ns#replyAuthorization\\",\\"https://misskey-hub.net/ns#_misskey_quote\\",\\"https://schema.org/isBasedOn\\",\\"https://schema.org/license\\",\\"https://schema.org/translationOfWork\\",\\"https://schema.org/translator\\",\\"https://w3id.org/fep/044f#quote\\",\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"https://w3id.org/fep/5711#followersOf\\",\\"https://w3id.org/fep/5711#followingOf\\",\\"https://w3id.org/fep/5711#inboxOf\\",\\"https://w3id.org/fep/5711#likedOf\\",\\"https://w3id.org/fep/5711#likesOf\\",\\"https://w3id.org/fep/5711#outboxOf\\",\\"https://w3id.org/fep/5711#repliesOf\\",\\"https://w3id.org/fep/5711#sharesOf\\",\\"https://w3id.org/fep/6757#preferredLicense\\",\\"https://w3id.org/fep/7aa9#featureAuthorization\\",\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"https://w3id.org/fep/7aa9#featuredObject\\",\\"https://w3id.org/security#assertionMethod\\",\\"https://w3id.org/security#controller\\",\\"https://w3id.org/security#owner\\",\\"https://w3id.org/security#proof\\",\\"https://w3id.org/security#publicKey\\",\\"https://w3id.org/security#verificationMethod\\",\\"https://w3id.org/valueflows/ont/vf#resourceConformsTo\\",\\"https://w3id.org/valueflows/ont/vf#satisfies\\",\\"https://www.w3.org/ns/activitystreams#actor\\",\\"https://www.w3.org/ns/activitystreams#alsoKnownAs\\",\\"https://www.w3.org/ns/activitystreams#anyOf\\",\\"https://www.w3.org/ns/activitystreams#attachment\\",\\"https://www.w3.org/ns/activitystreams#attributedTo\\",\\"https://www.w3.org/ns/activitystreams#audience\\",\\"https://www.w3.org/ns/activitystreams#bcc\\",\\"https://www.w3.org/ns/activitystreams#bto\\",\\"https://www.w3.org/ns/activitystreams#cc\\",\\"https://www.w3.org/ns/activitystreams#context\\",\\"https://www.w3.org/ns/activitystreams#current\\",\\"https://www.w3.org/ns/activitystreams#describes\\",\\"https://www.w3.org/ns/activitystreams#first\\",\\"https://www.w3.org/ns/activitystreams#followers\\",\\"https://www.w3.org/ns/activitystreams#following\\",\\"https://www.w3.org/ns/activitystreams#generator\\",\\"https://www.w3.org/ns/activitystreams#href\\",\\"https://www.w3.org/ns/activitystreams#icon\\",\\"https://www.w3.org/ns/activitystreams#image\\",\\"https://www.w3.org/ns/activitystreams#inReplyTo\\",\\"https://www.w3.org/ns/activitystreams#instrument\\",\\"https://www.w3.org/ns/activitystreams#items\\",\\"https://www.w3.org/ns/activitystreams#last\\",\\"https://www.w3.org/ns/activitystreams#liked\\",\\"https://www.w3.org/ns/activitystreams#likes\\",\\"https://www.w3.org/ns/activitystreams#location\\",\\"https://www.w3.org/ns/activitystreams#movedTo\\",\\"https://www.w3.org/ns/activitystreams#next\\",\\"https://www.w3.org/ns/activitystreams#oauthAuthorizationEndpoint\\",\\"https://www.w3.org/ns/activitystreams#oauthTokenEndpoint\\",\\"https://www.w3.org/ns/activitystreams#object\\",\\"https://www.w3.org/ns/activitystreams#oneOf\\",\\"https://www.w3.org/ns/activitystreams#origin\\",\\"https://www.w3.org/ns/activitystreams#outbox\\",\\"https://www.w3.org/ns/activitystreams#partOf\\",\\"https://www.w3.org/ns/activitystreams#prev\\",\\"https://www.w3.org/ns/activitystreams#preview\\",\\"https://www.w3.org/ns/activitystreams#provideClientKey\\",\\"https://www.w3.org/ns/activitystreams#proxyUrl\\",\\"https://www.w3.org/ns/activitystreams#quoteUrl\\",\\"https://www.w3.org/ns/activitystreams#relationship\\",\\"https://www.w3.org/ns/activitystreams#replies\\",\\"https://www.w3.org/ns/activitystreams#result\\",\\"https://www.w3.org/ns/activitystreams#sharedInbox\\",\\"https://www.w3.org/ns/activitystreams#shares\\",\\"https://www.w3.org/ns/activitystreams#signClientKey\\",\\"https://www.w3.org/ns/activitystreams#streams\\",\\"https://www.w3.org/ns/activitystreams#subject\\",\\"https://www.w3.org/ns/activitystreams#tag\\",\\"https://www.w3.org/ns/activitystreams#target\\",\\"https://www.w3.org/ns/activitystreams#to\\",\\"https://www.w3.org/ns/activitystreams#units\\",\\"https://www.w3.org/ns/activitystreams#uploadMedia\\",\\"https://www.w3.org/ns/activitystreams#url\\",\\"https://www.w3.org/ns/did#service\\",\\"https://www.w3.org/ns/did#serviceEndpoint\\",\\"icon\\",\\"id\\",\\"image\\",\\"inReplyTo\\",\\"inbox\\",\\"inboxOf\\",\\"instrument\\",\\"interactingObject\\",\\"interactionTarget\\",\\"isBasedOn\\",\\"items\\",\\"last\\",\\"license\\",\\"likeAuthorization\\",\\"liked\\",\\"likedOf\\",\\"likes\\",\\"likesOf\\",\\"location\\",\\"manualApproval\\",\\"movedTo\\",\\"next\\",\\"oauthAuthorizationEndpoint\\",\\"oauthTokenEndpoint\\",\\"object\\",\\"oneOf\\",\\"orderedItems\\",\\"origin\\",\\"outbox\\",\\"outboxOf\\",\\"owner\\",\\"partOf\\",\\"preferredLicense\\",\\"prev\\",\\"preview\\",\\"proof\\",\\"provideClientKey\\",\\"proxyUrl\\",\\"publicKey\\",\\"quote\\",\\"quoteAuthorization\\",\\"quoteUri\\",\\"quoteUrl\\",\\"relationship\\",\\"replies\\",\\"repliesOf\\",\\"replyAuthorization\\",\\"resourceConformsTo\\",\\"result\\",\\"satisfies\\",\\"service\\",\\"sharedInbox\\",\\"shares\\",\\"sharesOf\\",\\"signClientKey\\",\\"streams\\",\\"subject\\",\\"tag\\",\\"target\\",\\"to\\",\\"translationOfWork\\",\\"translator\\",\\"units\\",\\"uploadMedia\\",\\"url\\"]); import * as _ppM0 from \\"./preprocessors.ts\\"; @@ -285,6 +319,7 @@ export class Object { #_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; #_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); #_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations: (Translation)[] = []; +#_2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; /** * Constructs a new instance of Object with the given values. @@ -311,7 +346,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -1275,6 +1310,21 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } + + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -1311,7 +1361,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -2287,6 +2337,21 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.slice(); + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -14410,6 +14475,29 @@ get translations(): (Translation)[] { return this.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; } +/** The copyright licenses for this object, as defined by + * [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + * URI, such as ; license names + * and SPDX short identifiers are not license URIs. Multiple values are + * alternatives that a consumer may choose from; their order has no meaning. + * + * An empty list means the object carries no license metadata. Fedify does + * not synthesize a default license for it; FEP-6757 suggests that consumers + * treat such content as “all rights reserved,” but that is a consumer policy, + * not a value of this property. A license on an actor, activity, or + * collection covers that object itself, not the objects the actor authored, + * the activity's object, or the collection's items. An actor's + * \`preferredLicense\` is not a fallback for this property either. + * + * The \`https://schema.org/license\` and + * \`http://creativecommons.org/ns#license\` properties are read as synonyms + * when this property is absent, but only this property is written. + * + */ +get licenses(): (URL)[] { + return this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -15221,6 +15309,22 @@ get translations(): (Translation)[] { } + compactItems = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"license\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Object\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.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\\"}}]; @@ -16016,6 +16120,26 @@ get translations(): (Translation)[] { } + array = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"http://purl.org/dc/terms/license\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Object\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -16029,6 +16153,17 @@ get translations(): (Translation)[] { } let docContext: Parameters[1] = options.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\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -16100,6 +16235,11 @@ get translations(): (Translation)[] { this.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations.length > 0 ) return false; + if ( + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d != null && + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0 + ) return false; + return true; } @@ -18052,6 +18192,43 @@ get translations(): (Translation)[] { } instance.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations = _a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + + let _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://purl.org/dc/terms/license\\"]; + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"https://schema.org/license\\"]; + } + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://creativecommons.org/ns#license\\"]; + } + + for ( + const v of _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null + ? [] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length === 1 && \\"@list\\" in _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0] + ? _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0][\\"@list\\"] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _2rzkBRS4gNPrkJk9DohHAMUAxA2d.push(decoded); + + } + instance.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -18965,6 +19142,28 @@ get translations(): (Translation)[] { proxy.translations = _a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; } + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 1 + || !(\\"license\\" in proxy) + && _2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0) { + proxy.licenses = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + return proxy; } } @@ -19028,7 +19227,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -19073,7 +19272,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -19172,6 +19371,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -19461,7 +19671,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -19545,7 +19755,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -20675,6 +20885,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -21156,7 +21377,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -21447,7 +21668,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25463,6 +25684,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -26300,7 +26532,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26351,7 +26583,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26437,6 +26669,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -27064,6 +27307,17 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -27802,6 +28056,17 @@ unit?: string | null;numericalValue?: Decimal | null;} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -28192,7 +28457,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -28263,7 +28528,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -29305,6 +29570,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -29715,7 +29991,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29766,7 +30042,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29852,6 +30128,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -30629,6 +30916,17 @@ canFeature?: InteractionRule | null;canLike?: InteractionRule | null;canReply?: } let docContext: Parameters[1] = options.context ?? [\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -31620,6 +31918,17 @@ get manualApprovals(): (URL)[] { } let docContext: Parameters[1] = options.context ?? \\"https://gotosocial.org/ns\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -32021,7 +32330,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -32092,7 +32401,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -33134,6 +33443,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -33543,7 +33863,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33594,7 +33914,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33680,6 +34000,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -33971,7 +34302,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34042,7 +34373,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -35084,6 +35415,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -35493,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?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35544,7 +35886,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35630,6 +35972,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -35921,7 +36274,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -35992,7 +36345,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -37033,6 +37386,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -37442,7 +37806,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -37493,7 +37857,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -37579,6 +37943,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -39293,6 +39668,17 @@ get urls(): ((URL | Link))[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/22cd\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -39931,7 +40317,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -40002,7 +40388,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -41041,6 +41427,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -41447,7 +41844,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -41498,7 +41895,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -41584,6 +41981,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -41903,7 +42311,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -42123,7 +42531,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -47977,6 +48385,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -49065,7 +49484,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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)[];} , options: { documentLoader?: DocumentLoader, @@ -49129,7 +49548,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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)[];} = {}, options: { @@ -49728,6 +50147,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -50084,7 +50514,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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)[];topic?: Hashtag | null;discoverable?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (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)[];topic?: Hashtag | null;discoverable?: boolean | null;} , options: { documentLoader?: DocumentLoader, @@ -50155,7 +50585,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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)[];topic?: Hashtag | null;discoverable?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (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)[];topic?: Hashtag | null;discoverable?: boolean | null;} = {}, options: { @@ -50387,6 +50817,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"discoverable\\":\\"toot:discoverable\\",\\"Hashtag\\":\\"as:Hashtag\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -50774,7 +51215,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -50845,7 +51286,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} = {}, options: { @@ -51886,6 +52327,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -52580,6 +53032,17 @@ get endpoints(): (URL)[] { } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/did/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -53012,6 +53475,17 @@ endpoints?: (URL)[];} } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/did/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -54149,6 +54623,17 @@ cryptosuite?: \\"eddsa-jcs-2022\\" | null;verificationMethod?: Multikey | URL | } let docContext: Parameters[1] = options.context ?? \\"https://w3id.org/security/data-integrity/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -55517,6 +56002,17 @@ owner?: Application | Group | Organization | Person | Service | URL | null;publi } let docContext: Parameters[1] = options.context ?? \\"https://w3id.org/security/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -56762,6 +57258,17 @@ controller?: Application | Group | Organization | Person | Service | URL | null; } let docContext: Parameters[1] = options.context ?? \\"https://w3id.org/security/multikey/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -57180,7 +57687,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} , options: { documentLoader?: DocumentLoader, @@ -57251,7 +57758,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} = {}, options: { @@ -57488,6 +57995,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"},\\"Agreement\\":\\"vf:Agreement\\",\\"Commitment\\":\\"vf:Commitment\\",\\"stipulates\\":\\"vf:stipulates\\",\\"stipulatesReciprocal\\":\\"vf:stipulatesReciprocal\\",\\"satisfies\\":{\\"@id\\":\\"vf:satisfies\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -58223,6 +58741,17 @@ satisfies?: URL | null;resourceQuantity?: Measure | null;} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"Commitment\\":\\"vf:Commitment\\",\\"satisfies\\":{\\"@id\\":\\"vf:satisfies\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -59187,6 +59716,17 @@ action?: string | null;resourceConformsTo?: URL | null;resourceQuantity?: Measur } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"Intent\\":\\"vf:Intent\\",\\"action\\":\\"vf:action\\",\\"resourceConformsTo\\":{\\"@id\\":\\"vf:resourceConformsTo\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"availableQuantity\\":\\"vf:availableQuantity\\",\\"minimumQuantity\\":\\"vf:minimumQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -59734,7 +60274,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} , options: { documentLoader?: DocumentLoader, @@ -59831,7 +60371,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} = {}, options: { @@ -60193,6 +60733,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"},\\"Proposal\\":\\"vf:Proposal\\",\\"Intent\\":\\"vf:Intent\\",\\"purpose\\":\\"vf:purpose\\",\\"unitBased\\":\\"vf:unitBased\\",\\"publishes\\":\\"vf:publishes\\",\\"reciprocal\\":\\"vf:reciprocal\\",\\"action\\":\\"vf:action\\",\\"resourceConformsTo\\":{\\"@id\\":\\"vf:resourceConformsTo\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"availableQuantity\\":\\"vf:availableQuantity\\",\\"minimumQuantity\\":\\"vf:minimumQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -60675,7 +61226,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -60726,7 +61277,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -60812,6 +61363,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61097,7 +61659,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61148,7 +61710,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61234,6 +61796,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61514,7 +62087,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61565,7 +62138,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61651,6 +62224,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61954,6 +62538,7 @@ export class Application extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Application with the given values. @@ -61980,13 +62565,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -62467,6 +63052,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -62503,13 +63101,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -63003,6 +63601,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -69891,6 +70502,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -70419,6 +71049,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Application\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -70923,6 +71569,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Application\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -70936,6 +71602,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -70987,6 +71664,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -72045,6 +72727,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -72595,6 +73306,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -72661,7 +73392,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -72712,7 +73443,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -72798,6 +73529,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -73090,7 +73832,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -73141,7 +73883,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -73227,6 +73969,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -73511,7 +74264,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -73595,7 +74348,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -74725,6 +75478,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -75186,7 +75950,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -75270,7 +76034,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -75569,6 +76333,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76009,7 +76784,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -76054,7 +76829,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -76153,6 +76928,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76432,7 +77218,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76483,7 +77269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76569,6 +77355,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76854,7 +77651,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76905,7 +77702,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76991,6 +77788,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -77280,7 +78088,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -77364,7 +78172,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -78876,6 +79684,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -79340,7 +80159,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79391,7 +80210,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79477,6 +80296,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -79756,7 +80586,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79807,7 +80637,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79893,6 +80723,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -80170,7 +81011,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80221,7 +81062,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80307,6 +81148,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -81337,6 +82189,17 @@ proxyUrl?: URL | null;oauthAuthorizationEndpoint?: URL | null;oauthTokenEndpoint } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/activitystreams\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -81957,7 +82820,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -82002,7 +82865,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -82101,6 +82964,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -82381,7 +83255,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82432,7 +83306,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82518,6 +83392,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -82799,7 +83684,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82850,7 +83735,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82936,6 +83821,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -83239,6 +84135,7 @@ export class Group extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Group with the given values. @@ -83265,13 +84162,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -83752,6 +84649,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -83788,13 +84698,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -84288,6 +85198,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -91176,6 +92099,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -91704,6 +92646,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Group\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -92208,6 +93166,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Group\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -92221,6 +93199,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -92272,6 +93261,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -93330,6 +94324,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -93880,6 +94903,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -94000,7 +95043,8 @@ export class Link { #_gCVTegXxWWCw6wWRxa1QF65zusg_preview: (Link | Object | URL)[] = []; #_trust_gCVTegXxWWCw6wWRxa1QF65zusg_preview: Set = new Set(); - + #_2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + /** * Constructs a new instance of Link with the given values. * @param values The values to initialize the instance with. @@ -94012,7 +95056,7 @@ export class Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -94209,6 +95253,21 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num ); } } + + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -94231,7 +95290,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -94425,6 +95484,21 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num ); } } + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.slice(); + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -95011,6 +96085,24 @@ get names(): ((string | LanguageString))[] { } } +/** The copyright licenses for the linked resource, as defined by + * [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + * URI, such as ; license + * names and SPDX short identifiers are not license URIs. Multiple values are + * alternatives that a consumer may choose from; their order has no meaning. + * + * An empty list means the link carries no license metadata. Fedify does not + * synthesize a default license for it. + * + * The \`https://schema.org/license\` and + * \`http://creativecommons.org/ns#license\` properties are read as synonyms + * when this property is absent, but only this property is written. + * + */ +get licenses(): (URL)[] { + return this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -95204,6 +96296,22 @@ get names(): ((string | LanguageString))[] { } + compactItems = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"license\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Link\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\"]; @@ -95404,6 +96512,26 @@ get names(): ((string | LanguageString))[] { } + array = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"http://purl.org/dc/terms/license\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Link\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -95417,6 +96545,17 @@ get names(): ((string | LanguageString))[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -95452,6 +96591,11 @@ get names(): ((string | LanguageString))[] { this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length > 0 ) return false; + if ( + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d != null && + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0 + ) return false; + return true; } @@ -95881,6 +97025,43 @@ get names(): ((string | LanguageString))[] { } instance.#_gCVTegXxWWCw6wWRxa1QF65zusg_preview = _gCVTegXxWWCw6wWRxa1QF65zusg_preview; + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + + let _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://purl.org/dc/terms/license\\"]; + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"https://schema.org/license\\"]; + } + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://creativecommons.org/ns#license\\"]; + } + + for ( + const v of _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null + ? [] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length === 1 && \\"@list\\" in _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0] + ? _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0][\\"@list\\"] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _2rzkBRS4gNPrkJk9DohHAMUAxA2d.push(decoded); + + } + instance.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -96122,6 +97303,28 @@ get names(): ((string | LanguageString))[] { proxy.previews = _gCVTegXxWWCw6wWRxa1QF65zusg_preview; } + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 1 + || !(\\"license\\" in proxy) + && _2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0) { + proxy.licenses = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + return proxy; } } @@ -96174,7 +97377,7 @@ export class Hashtag extends Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -96205,7 +97408,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -96304,6 +97507,17 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"Hashtag\\":\\"as:Hashtag\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -96570,7 +97784,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -96615,7 +97829,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -96714,6 +97928,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -96994,7 +98219,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97045,7 +98270,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97131,6 +98356,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -97414,7 +98650,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97465,7 +98701,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97551,6 +98787,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -97830,7 +99077,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97881,7 +99128,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97967,6 +99214,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -98246,7 +99504,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98297,7 +99555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98383,6 +99641,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -98662,7 +99931,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98713,7 +99982,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98799,6 +100068,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99076,7 +100356,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99127,7 +100407,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99213,6 +100493,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99476,7 +100767,7 @@ export class Mention extends Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -99507,7 +100798,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -99606,6 +100897,17 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/activitystreams\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99875,7 +101177,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99926,7 +101228,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -100012,6 +101314,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -100298,7 +101611,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -100382,7 +101695,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -101512,6 +102825,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -101977,7 +103301,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -102054,7 +103378,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -102720,6 +104044,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -103142,6 +104477,7 @@ export class Organization extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Organization with the given values. @@ -103168,13 +104504,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -103655,6 +104991,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -103691,13 +105040,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -104191,6 +105540,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -111079,6 +112441,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -111607,6 +112988,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Organization\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -112111,6 +113508,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Organization\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -112124,6 +113541,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -112175,6 +113603,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -113233,6 +114666,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -113783,6 +115245,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -113846,7 +115328,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -113891,7 +115373,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -113990,6 +115472,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -114293,6 +115786,7 @@ export class Person extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Person with the given values. @@ -114319,13 +115813,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -114806,6 +116300,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -114842,13 +116349,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -115342,6 +116849,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -122230,6 +123750,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -122758,6 +124297,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Person\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -123262,6 +124817,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Person\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -123275,6 +124850,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -123326,6 +124912,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -124384,6 +125975,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -124934,6 +126554,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -125006,7 +126646,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -125129,7 +126769,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -125627,6 +127267,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -126209,7 +127860,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -126267,7 +127918,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];describes?: Object | URL | null;} = {}, options: { @@ -126838,6 +128489,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -127199,7 +128861,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -127353,7 +129015,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -129436,6 +131098,17 @@ instruments?: (Object | URL)[];exclusiveOptions?: (Object | URL)[];inclusiveOpti } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130129,7 +131802,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130180,7 +131853,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130266,6 +131939,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130545,7 +132229,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130596,7 +132280,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130682,6 +132366,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130979,7 +132674,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -131119,7 +132814,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -133018,6 +134713,17 @@ relationships?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -133492,7 +135198,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -133543,7 +135249,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -133629,6 +135335,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -133932,6 +135649,7 @@ export class Service extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Service with the given values. @@ -133958,13 +135676,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -134445,6 +136163,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -134481,13 +136212,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -134981,6 +136712,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -141869,6 +143613,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -142397,6 +144160,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Service\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -142901,6 +144680,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Service\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -142914,6 +144713,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -142965,6 +144775,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -144023,6 +145838,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -144573,6 +146417,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -145034,6 +146898,17 @@ get contents(): ((string | LanguageString))[] { } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/activitystreams\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -145426,7 +147301,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145477,7 +147352,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145563,6 +147438,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -145842,7 +147728,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145893,7 +147779,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145979,6 +147865,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -146261,7 +148158,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];formerType?: \$EntityType | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];formerType?: \$EntityType | null; formerTypes?: (\$EntityType)[];deleted?: Temporal.Instant | null;} , options: { @@ -146356,7 +148253,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];formerType?: \$EntityType | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];formerType?: \$EntityType | null; formerTypes?: (\$EntityType)[];deleted?: Temporal.Instant | null;} = {}, @@ -146618,6 +148515,17 @@ get formerTypes(): (\$EntityType)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147025,7 +148933,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147076,7 +148984,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147162,6 +149070,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147446,7 +149365,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147497,7 +149416,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147583,6 +149502,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147865,7 +149795,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147916,7 +149846,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148002,6 +149932,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"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\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -148279,7 +150220,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -148324,7 +150265,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -148423,6 +150364,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -148701,7 +150653,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148752,7 +150704,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148838,6 +150790,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let 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 076a316b6..5e3a3106b 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.node.snap @@ -89,8 +89,33 @@ function isValidLanguageTag(language: string): boolean { } } +function getAbsoluteIriValue(value: unknown): string | undefined { + if (value == null || typeof value !== \\"object\\") return undefined; + const node = value as Record; + if (typeof node[\\"@id\\"] === \\"string\\") { + return node[\\"@id\\"].startsWith(\\"_:\\") ? undefined : node[\\"@id\\"]; + } + // A language tag can come from a context's default language, so it does + // not make a literal any less of an IRI: + if (typeof node[\\"@value\\"] !== \\"string\\") return undefined; + const type = node[\\"@type\\"]; + return type == null || + type === \\"http://www.w3.org/2001/XMLSchema#string\\" || + type === \\"http://www.w3.org/2001/XMLSchema#anyURI\\" + ? node[\\"@value\\"] + : undefined; +} + +function isAbsoluteIriValue(value: unknown): boolean { + const iri = getAbsoluteIriValue(value); + return iri != null && canDecodeIri(iri); +} + const extraPropertyContexts: Readonly> = - {\\"https://schema.org/translator\\":\\"https://w3id.org/fep/22cd\\",\\"https://w3id.org/fep/22cd#translations\\":\\"https://w3id.org/fep/22cd\\"}; + {\\"https://schema.org/translator\\":\\"https://w3id.org/fep/22cd\\",\\"https://w3id.org/fep/6757#preferredLicense\\":\\"https://w3id.org/fep/6757\\",\\"http://purl.org/dc/terms/license\\":\\"https://w3id.org/fep/6757\\",\\"https://w3id.org/fep/22cd#translations\\":\\"https://w3id.org/fep/22cd\\"}; + +const extraContextUrls: readonly string[] = + [\\"https://w3id.org/fep/22cd\\",\\"https://w3id.org/fep/6757\\"]; function getExtraContexts(document: unknown): string[] { const contexts = new Set(); @@ -104,7 +129,16 @@ function getExtraContexts(document: unknown): string[] { } if (\\"@value\\" in value) continue; for (const [key, child] of globalThis.Object.entries(value)) { - if (key === \\"@context\\") continue; + if (key === \\"@context\\") { + for (const context of Array.isArray(child) ? child : [child]) { + if ( + typeof context === \\"string\\" && extraContextUrls.includes(context) + ) { + contexts.add(context); + } + } + continue; + } if (globalThis.Object.hasOwn(extraPropertyContexts, key)) { contexts.add(extraPropertyContexts[key]); } @@ -116,7 +150,7 @@ function getExtraContexts(document: unknown): string[] { const PORTABLE_IRI_PATTERN = /^ap(?:\\\\+ef61)?:\\\\/\\\\//i; -const PORTABLE_IRI_KEYS: ReadonlySet = new Set([\\"@id\\",\\"_misskey_quote\\",\\"actor\\",\\"alsoKnownAs\\",\\"announceAuthorization\\",\\"anyOf\\",\\"approvedBy\\",\\"assertionMethod\\",\\"attachment\\",\\"attributedTo\\",\\"audience\\",\\"automaticApproval\\",\\"bcc\\",\\"bto\\",\\"cc\\",\\"context\\",\\"controller\\",\\"current\\",\\"describes\\",\\"emojiReactions\\",\\"featureAuthorization\\",\\"featured\\",\\"featuredCollections\\",\\"featuredObject\\",\\"featuredTags\\",\\"first\\",\\"followers\\",\\"followersOf\\",\\"following\\",\\"followingOf\\",\\"generator\\",\\"href\\",\\"http://fedibird.com/ns#emojiReactions\\",\\"http://fedibird.com/ns#quoteUri\\",\\"http://joinmastodon.org/ns#featured\\",\\"http://joinmastodon.org/ns#featuredTags\\",\\"http://www.w3.org/ns/ldp#inbox\\",\\"https://gotosocial.org/ns#announceAuthorization\\",\\"https://gotosocial.org/ns#approvedBy\\",\\"https://gotosocial.org/ns#automaticApproval\\",\\"https://gotosocial.org/ns#interactingObject\\",\\"https://gotosocial.org/ns#interactionTarget\\",\\"https://gotosocial.org/ns#likeAuthorization\\",\\"https://gotosocial.org/ns#manualApproval\\",\\"https://gotosocial.org/ns#replyAuthorization\\",\\"https://misskey-hub.net/ns#_misskey_quote\\",\\"https://schema.org/isBasedOn\\",\\"https://schema.org/translationOfWork\\",\\"https://schema.org/translator\\",\\"https://w3id.org/fep/044f#quote\\",\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"https://w3id.org/fep/5711#followersOf\\",\\"https://w3id.org/fep/5711#followingOf\\",\\"https://w3id.org/fep/5711#inboxOf\\",\\"https://w3id.org/fep/5711#likedOf\\",\\"https://w3id.org/fep/5711#likesOf\\",\\"https://w3id.org/fep/5711#outboxOf\\",\\"https://w3id.org/fep/5711#repliesOf\\",\\"https://w3id.org/fep/5711#sharesOf\\",\\"https://w3id.org/fep/7aa9#featureAuthorization\\",\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"https://w3id.org/fep/7aa9#featuredObject\\",\\"https://w3id.org/security#assertionMethod\\",\\"https://w3id.org/security#controller\\",\\"https://w3id.org/security#owner\\",\\"https://w3id.org/security#proof\\",\\"https://w3id.org/security#publicKey\\",\\"https://w3id.org/security#verificationMethod\\",\\"https://w3id.org/valueflows/ont/vf#resourceConformsTo\\",\\"https://w3id.org/valueflows/ont/vf#satisfies\\",\\"https://www.w3.org/ns/activitystreams#actor\\",\\"https://www.w3.org/ns/activitystreams#alsoKnownAs\\",\\"https://www.w3.org/ns/activitystreams#anyOf\\",\\"https://www.w3.org/ns/activitystreams#attachment\\",\\"https://www.w3.org/ns/activitystreams#attributedTo\\",\\"https://www.w3.org/ns/activitystreams#audience\\",\\"https://www.w3.org/ns/activitystreams#bcc\\",\\"https://www.w3.org/ns/activitystreams#bto\\",\\"https://www.w3.org/ns/activitystreams#cc\\",\\"https://www.w3.org/ns/activitystreams#context\\",\\"https://www.w3.org/ns/activitystreams#current\\",\\"https://www.w3.org/ns/activitystreams#describes\\",\\"https://www.w3.org/ns/activitystreams#first\\",\\"https://www.w3.org/ns/activitystreams#followers\\",\\"https://www.w3.org/ns/activitystreams#following\\",\\"https://www.w3.org/ns/activitystreams#generator\\",\\"https://www.w3.org/ns/activitystreams#href\\",\\"https://www.w3.org/ns/activitystreams#icon\\",\\"https://www.w3.org/ns/activitystreams#image\\",\\"https://www.w3.org/ns/activitystreams#inReplyTo\\",\\"https://www.w3.org/ns/activitystreams#instrument\\",\\"https://www.w3.org/ns/activitystreams#items\\",\\"https://www.w3.org/ns/activitystreams#last\\",\\"https://www.w3.org/ns/activitystreams#liked\\",\\"https://www.w3.org/ns/activitystreams#likes\\",\\"https://www.w3.org/ns/activitystreams#location\\",\\"https://www.w3.org/ns/activitystreams#movedTo\\",\\"https://www.w3.org/ns/activitystreams#next\\",\\"https://www.w3.org/ns/activitystreams#oauthAuthorizationEndpoint\\",\\"https://www.w3.org/ns/activitystreams#oauthTokenEndpoint\\",\\"https://www.w3.org/ns/activitystreams#object\\",\\"https://www.w3.org/ns/activitystreams#oneOf\\",\\"https://www.w3.org/ns/activitystreams#origin\\",\\"https://www.w3.org/ns/activitystreams#outbox\\",\\"https://www.w3.org/ns/activitystreams#partOf\\",\\"https://www.w3.org/ns/activitystreams#prev\\",\\"https://www.w3.org/ns/activitystreams#preview\\",\\"https://www.w3.org/ns/activitystreams#provideClientKey\\",\\"https://www.w3.org/ns/activitystreams#proxyUrl\\",\\"https://www.w3.org/ns/activitystreams#quoteUrl\\",\\"https://www.w3.org/ns/activitystreams#relationship\\",\\"https://www.w3.org/ns/activitystreams#replies\\",\\"https://www.w3.org/ns/activitystreams#result\\",\\"https://www.w3.org/ns/activitystreams#sharedInbox\\",\\"https://www.w3.org/ns/activitystreams#shares\\",\\"https://www.w3.org/ns/activitystreams#signClientKey\\",\\"https://www.w3.org/ns/activitystreams#streams\\",\\"https://www.w3.org/ns/activitystreams#subject\\",\\"https://www.w3.org/ns/activitystreams#tag\\",\\"https://www.w3.org/ns/activitystreams#target\\",\\"https://www.w3.org/ns/activitystreams#to\\",\\"https://www.w3.org/ns/activitystreams#units\\",\\"https://www.w3.org/ns/activitystreams#uploadMedia\\",\\"https://www.w3.org/ns/activitystreams#url\\",\\"https://www.w3.org/ns/did#service\\",\\"https://www.w3.org/ns/did#serviceEndpoint\\",\\"icon\\",\\"id\\",\\"image\\",\\"inReplyTo\\",\\"inbox\\",\\"inboxOf\\",\\"instrument\\",\\"interactingObject\\",\\"interactionTarget\\",\\"isBasedOn\\",\\"items\\",\\"last\\",\\"likeAuthorization\\",\\"liked\\",\\"likedOf\\",\\"likes\\",\\"likesOf\\",\\"location\\",\\"manualApproval\\",\\"movedTo\\",\\"next\\",\\"oauthAuthorizationEndpoint\\",\\"oauthTokenEndpoint\\",\\"object\\",\\"oneOf\\",\\"orderedItems\\",\\"origin\\",\\"outbox\\",\\"outboxOf\\",\\"owner\\",\\"partOf\\",\\"prev\\",\\"preview\\",\\"proof\\",\\"provideClientKey\\",\\"proxyUrl\\",\\"publicKey\\",\\"quote\\",\\"quoteAuthorization\\",\\"quoteUri\\",\\"quoteUrl\\",\\"relationship\\",\\"replies\\",\\"repliesOf\\",\\"replyAuthorization\\",\\"resourceConformsTo\\",\\"result\\",\\"satisfies\\",\\"service\\",\\"sharedInbox\\",\\"shares\\",\\"sharesOf\\",\\"signClientKey\\",\\"streams\\",\\"subject\\",\\"tag\\",\\"target\\",\\"to\\",\\"translationOfWork\\",\\"translator\\",\\"units\\",\\"uploadMedia\\",\\"url\\"]); +const PORTABLE_IRI_KEYS: ReadonlySet = new Set([\\"@id\\",\\"_misskey_quote\\",\\"actor\\",\\"alsoKnownAs\\",\\"announceAuthorization\\",\\"anyOf\\",\\"approvedBy\\",\\"assertionMethod\\",\\"attachment\\",\\"attributedTo\\",\\"audience\\",\\"automaticApproval\\",\\"bcc\\",\\"bto\\",\\"cc\\",\\"context\\",\\"controller\\",\\"current\\",\\"describes\\",\\"emojiReactions\\",\\"featureAuthorization\\",\\"featured\\",\\"featuredCollections\\",\\"featuredObject\\",\\"featuredTags\\",\\"first\\",\\"followers\\",\\"followersOf\\",\\"following\\",\\"followingOf\\",\\"generator\\",\\"href\\",\\"http://creativecommons.org/ns#license\\",\\"http://fedibird.com/ns#emojiReactions\\",\\"http://fedibird.com/ns#quoteUri\\",\\"http://joinmastodon.org/ns#featured\\",\\"http://joinmastodon.org/ns#featuredTags\\",\\"http://purl.org/dc/terms/license\\",\\"http://www.w3.org/ns/ldp#inbox\\",\\"https://gotosocial.org/ns#announceAuthorization\\",\\"https://gotosocial.org/ns#approvedBy\\",\\"https://gotosocial.org/ns#automaticApproval\\",\\"https://gotosocial.org/ns#interactingObject\\",\\"https://gotosocial.org/ns#interactionTarget\\",\\"https://gotosocial.org/ns#likeAuthorization\\",\\"https://gotosocial.org/ns#manualApproval\\",\\"https://gotosocial.org/ns#replyAuthorization\\",\\"https://misskey-hub.net/ns#_misskey_quote\\",\\"https://schema.org/isBasedOn\\",\\"https://schema.org/license\\",\\"https://schema.org/translationOfWork\\",\\"https://schema.org/translator\\",\\"https://w3id.org/fep/044f#quote\\",\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"https://w3id.org/fep/5711#followersOf\\",\\"https://w3id.org/fep/5711#followingOf\\",\\"https://w3id.org/fep/5711#inboxOf\\",\\"https://w3id.org/fep/5711#likedOf\\",\\"https://w3id.org/fep/5711#likesOf\\",\\"https://w3id.org/fep/5711#outboxOf\\",\\"https://w3id.org/fep/5711#repliesOf\\",\\"https://w3id.org/fep/5711#sharesOf\\",\\"https://w3id.org/fep/6757#preferredLicense\\",\\"https://w3id.org/fep/7aa9#featureAuthorization\\",\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"https://w3id.org/fep/7aa9#featuredObject\\",\\"https://w3id.org/security#assertionMethod\\",\\"https://w3id.org/security#controller\\",\\"https://w3id.org/security#owner\\",\\"https://w3id.org/security#proof\\",\\"https://w3id.org/security#publicKey\\",\\"https://w3id.org/security#verificationMethod\\",\\"https://w3id.org/valueflows/ont/vf#resourceConformsTo\\",\\"https://w3id.org/valueflows/ont/vf#satisfies\\",\\"https://www.w3.org/ns/activitystreams#actor\\",\\"https://www.w3.org/ns/activitystreams#alsoKnownAs\\",\\"https://www.w3.org/ns/activitystreams#anyOf\\",\\"https://www.w3.org/ns/activitystreams#attachment\\",\\"https://www.w3.org/ns/activitystreams#attributedTo\\",\\"https://www.w3.org/ns/activitystreams#audience\\",\\"https://www.w3.org/ns/activitystreams#bcc\\",\\"https://www.w3.org/ns/activitystreams#bto\\",\\"https://www.w3.org/ns/activitystreams#cc\\",\\"https://www.w3.org/ns/activitystreams#context\\",\\"https://www.w3.org/ns/activitystreams#current\\",\\"https://www.w3.org/ns/activitystreams#describes\\",\\"https://www.w3.org/ns/activitystreams#first\\",\\"https://www.w3.org/ns/activitystreams#followers\\",\\"https://www.w3.org/ns/activitystreams#following\\",\\"https://www.w3.org/ns/activitystreams#generator\\",\\"https://www.w3.org/ns/activitystreams#href\\",\\"https://www.w3.org/ns/activitystreams#icon\\",\\"https://www.w3.org/ns/activitystreams#image\\",\\"https://www.w3.org/ns/activitystreams#inReplyTo\\",\\"https://www.w3.org/ns/activitystreams#instrument\\",\\"https://www.w3.org/ns/activitystreams#items\\",\\"https://www.w3.org/ns/activitystreams#last\\",\\"https://www.w3.org/ns/activitystreams#liked\\",\\"https://www.w3.org/ns/activitystreams#likes\\",\\"https://www.w3.org/ns/activitystreams#location\\",\\"https://www.w3.org/ns/activitystreams#movedTo\\",\\"https://www.w3.org/ns/activitystreams#next\\",\\"https://www.w3.org/ns/activitystreams#oauthAuthorizationEndpoint\\",\\"https://www.w3.org/ns/activitystreams#oauthTokenEndpoint\\",\\"https://www.w3.org/ns/activitystreams#object\\",\\"https://www.w3.org/ns/activitystreams#oneOf\\",\\"https://www.w3.org/ns/activitystreams#origin\\",\\"https://www.w3.org/ns/activitystreams#outbox\\",\\"https://www.w3.org/ns/activitystreams#partOf\\",\\"https://www.w3.org/ns/activitystreams#prev\\",\\"https://www.w3.org/ns/activitystreams#preview\\",\\"https://www.w3.org/ns/activitystreams#provideClientKey\\",\\"https://www.w3.org/ns/activitystreams#proxyUrl\\",\\"https://www.w3.org/ns/activitystreams#quoteUrl\\",\\"https://www.w3.org/ns/activitystreams#relationship\\",\\"https://www.w3.org/ns/activitystreams#replies\\",\\"https://www.w3.org/ns/activitystreams#result\\",\\"https://www.w3.org/ns/activitystreams#sharedInbox\\",\\"https://www.w3.org/ns/activitystreams#shares\\",\\"https://www.w3.org/ns/activitystreams#signClientKey\\",\\"https://www.w3.org/ns/activitystreams#streams\\",\\"https://www.w3.org/ns/activitystreams#subject\\",\\"https://www.w3.org/ns/activitystreams#tag\\",\\"https://www.w3.org/ns/activitystreams#target\\",\\"https://www.w3.org/ns/activitystreams#to\\",\\"https://www.w3.org/ns/activitystreams#units\\",\\"https://www.w3.org/ns/activitystreams#uploadMedia\\",\\"https://www.w3.org/ns/activitystreams#url\\",\\"https://www.w3.org/ns/did#service\\",\\"https://www.w3.org/ns/did#serviceEndpoint\\",\\"icon\\",\\"id\\",\\"image\\",\\"inReplyTo\\",\\"inbox\\",\\"inboxOf\\",\\"instrument\\",\\"interactingObject\\",\\"interactionTarget\\",\\"isBasedOn\\",\\"items\\",\\"last\\",\\"license\\",\\"likeAuthorization\\",\\"liked\\",\\"likedOf\\",\\"likes\\",\\"likesOf\\",\\"location\\",\\"manualApproval\\",\\"movedTo\\",\\"next\\",\\"oauthAuthorizationEndpoint\\",\\"oauthTokenEndpoint\\",\\"object\\",\\"oneOf\\",\\"orderedItems\\",\\"origin\\",\\"outbox\\",\\"outboxOf\\",\\"owner\\",\\"partOf\\",\\"preferredLicense\\",\\"prev\\",\\"preview\\",\\"proof\\",\\"provideClientKey\\",\\"proxyUrl\\",\\"publicKey\\",\\"quote\\",\\"quoteAuthorization\\",\\"quoteUri\\",\\"quoteUrl\\",\\"relationship\\",\\"replies\\",\\"repliesOf\\",\\"replyAuthorization\\",\\"resourceConformsTo\\",\\"result\\",\\"satisfies\\",\\"service\\",\\"sharedInbox\\",\\"shares\\",\\"sharesOf\\",\\"signClientKey\\",\\"streams\\",\\"subject\\",\\"tag\\",\\"target\\",\\"to\\",\\"translationOfWork\\",\\"translator\\",\\"units\\",\\"uploadMedia\\",\\"url\\"]); import * as _ppM0 from \\"./preprocessors.ts\\"; @@ -283,6 +317,7 @@ export class Object { #_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; #_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); #_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations: (Translation)[] = []; +#_2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; /** * Constructs a new instance of Object with the given values. @@ -309,7 +344,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -1273,6 +1308,21 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } + + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -1309,7 +1359,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -2285,6 +2335,21 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.slice(); + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -14408,6 +14473,29 @@ get translations(): (Translation)[] { return this.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; } +/** The copyright licenses for this object, as defined by + * [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + * URI, such as ; license names + * and SPDX short identifiers are not license URIs. Multiple values are + * alternatives that a consumer may choose from; their order has no meaning. + * + * An empty list means the object carries no license metadata. Fedify does + * not synthesize a default license for it; FEP-6757 suggests that consumers + * treat such content as “all rights reserved,” but that is a consumer policy, + * not a value of this property. A license on an actor, activity, or + * collection covers that object itself, not the objects the actor authored, + * the activity's object, or the collection's items. An actor's + * \`preferredLicense\` is not a fallback for this property either. + * + * The \`https://schema.org/license\` and + * \`http://creativecommons.org/ns#license\` properties are read as synonyms + * when this property is absent, but only this property is written. + * + */ +get licenses(): (URL)[] { + return this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -15219,6 +15307,22 @@ get translations(): (Translation)[] { } + compactItems = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"license\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Object\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.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\\"}}]; @@ -16014,6 +16118,26 @@ get translations(): (Translation)[] { } + array = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"http://purl.org/dc/terms/license\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Object\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -16027,6 +16151,17 @@ get translations(): (Translation)[] { } let docContext: Parameters[1] = options.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\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -16098,6 +16233,11 @@ get translations(): (Translation)[] { this.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations.length > 0 ) return false; + if ( + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d != null && + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0 + ) return false; + return true; } @@ -18050,6 +18190,43 @@ get translations(): (Translation)[] { } instance.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations = _a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + + let _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://purl.org/dc/terms/license\\"]; + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"https://schema.org/license\\"]; + } + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://creativecommons.org/ns#license\\"]; + } + + for ( + const v of _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null + ? [] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length === 1 && \\"@list\\" in _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0] + ? _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0][\\"@list\\"] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _2rzkBRS4gNPrkJk9DohHAMUAxA2d.push(decoded); + + } + instance.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -18963,6 +19140,28 @@ get translations(): (Translation)[] { proxy.translations = _a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; } + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 1 + || !(\\"license\\" in proxy) + && _2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0) { + proxy.licenses = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + return proxy; } } @@ -19026,7 +19225,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -19071,7 +19270,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -19170,6 +19369,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -19459,7 +19669,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -19543,7 +19753,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -20673,6 +20883,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -21154,7 +21375,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -21445,7 +21666,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25461,6 +25682,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -26298,7 +26530,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26349,7 +26581,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26435,6 +26667,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -27062,6 +27305,17 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"schema\\":\\"http://schema.org#\\",\\"PropertyValue\\":\\"schema:PropertyValue\\",\\"value\\":\\"schema:value\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -27800,6 +28054,17 @@ unit?: string | null;numericalValue?: Decimal | null;} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -28190,7 +28455,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -28261,7 +28526,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -29303,6 +29568,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -29713,7 +29989,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29764,7 +30040,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29850,6 +30126,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -30627,6 +30914,17 @@ canFeature?: InteractionRule | null;canLike?: InteractionRule | null;canReply?: } let docContext: Parameters[1] = options.context ?? [\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -31618,6 +31916,17 @@ get manualApprovals(): (URL)[] { } let docContext: Parameters[1] = options.context ?? \\"https://gotosocial.org/ns\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -32019,7 +32328,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -32090,7 +32399,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -33132,6 +33441,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -33541,7 +33861,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33592,7 +33912,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33678,6 +33998,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -33969,7 +34300,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34040,7 +34371,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -35082,6 +35413,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -35491,7 +35833,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35542,7 +35884,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35628,6 +35970,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -35919,7 +36272,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -35990,7 +36343,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -37031,6 +37384,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -37440,7 +37804,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -37491,7 +37855,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -37577,6 +37941,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -39291,6 +39666,17 @@ get urls(): ((URL | Link))[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/22cd\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -39929,7 +40315,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -40000,7 +40386,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -41039,6 +41425,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -41445,7 +41842,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -41496,7 +41893,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -41582,6 +41979,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -41901,7 +42309,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -42121,7 +42529,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -47975,6 +48383,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -49063,7 +49482,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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)[];} , options: { documentLoader?: DocumentLoader, @@ -49127,7 +49546,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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)[];} = {}, options: { @@ -49726,6 +50145,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -50082,7 +50512,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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)[];topic?: Hashtag | null;discoverable?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (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)[];topic?: Hashtag | null;discoverable?: boolean | null;} , options: { documentLoader?: DocumentLoader, @@ -50153,7 +50583,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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)[];topic?: Hashtag | null;discoverable?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (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)[];topic?: Hashtag | null;discoverable?: boolean | null;} = {}, options: { @@ -50385,6 +50815,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\",{\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"discoverable\\":\\"toot:discoverable\\",\\"Hashtag\\":\\"as:Hashtag\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -50772,7 +51213,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -50843,7 +51284,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} = {}, options: { @@ -51884,6 +52325,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",\\"https://w3id.org/fep/7aa9\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -52578,6 +53030,17 @@ get endpoints(): (URL)[] { } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/did/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -53010,6 +53473,17 @@ endpoints?: (URL)[];} } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/did/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -54147,6 +54621,17 @@ cryptosuite?: \\"eddsa-jcs-2022\\" | null;verificationMethod?: Multikey | URL | } let docContext: Parameters[1] = options.context ?? \\"https://w3id.org/security/data-integrity/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -55515,6 +56000,17 @@ owner?: Application | Group | Organization | Person | Service | URL | null;publi } let docContext: Parameters[1] = options.context ?? \\"https://w3id.org/security/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -56760,6 +57256,17 @@ controller?: Application | Group | Organization | Person | Service | URL | null; } let docContext: Parameters[1] = options.context ?? \\"https://w3id.org/security/multikey/v1\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -57178,7 +57685,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} , options: { documentLoader?: DocumentLoader, @@ -57249,7 +57756,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} = {}, options: { @@ -57486,6 +57993,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"},\\"Agreement\\":\\"vf:Agreement\\",\\"Commitment\\":\\"vf:Commitment\\",\\"stipulates\\":\\"vf:stipulates\\",\\"stipulatesReciprocal\\":\\"vf:stipulatesReciprocal\\",\\"satisfies\\":{\\"@id\\":\\"vf:satisfies\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -58221,6 +58739,17 @@ satisfies?: URL | null;resourceQuantity?: Measure | null;} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"Commitment\\":\\"vf:Commitment\\",\\"satisfies\\":{\\"@id\\":\\"vf:satisfies\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -59185,6 +59714,17 @@ action?: string | null;resourceConformsTo?: URL | null;resourceQuantity?: Measur } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"Intent\\":\\"vf:Intent\\",\\"action\\":\\"vf:action\\",\\"resourceConformsTo\\":{\\"@id\\":\\"vf:resourceConformsTo\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"availableQuantity\\":\\"vf:availableQuantity\\",\\"minimumQuantity\\":\\"vf:minimumQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -59732,7 +60272,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} , options: { documentLoader?: DocumentLoader, @@ -59829,7 +60369,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} = {}, options: { @@ -60191,6 +60731,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\",{\\"vf\\":\\"https://w3id.org/valueflows/ont/vf#\\",\\"om2\\":\\"http://www.ontology-of-units-of-measure.org/resource/om-2/\\",\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"sensitive\\":\\"as:sensitive\\",\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"},\\"Proposal\\":\\"vf:Proposal\\",\\"Intent\\":\\"vf:Intent\\",\\"purpose\\":\\"vf:purpose\\",\\"unitBased\\":\\"vf:unitBased\\",\\"publishes\\":\\"vf:publishes\\",\\"reciprocal\\":\\"vf:reciprocal\\",\\"action\\":\\"vf:action\\",\\"resourceConformsTo\\":{\\"@id\\":\\"vf:resourceConformsTo\\",\\"@type\\":\\"@id\\"},\\"resourceQuantity\\":\\"vf:resourceQuantity\\",\\"availableQuantity\\":\\"vf:availableQuantity\\",\\"minimumQuantity\\":\\"vf:minimumQuantity\\",\\"hasUnit\\":\\"om2:hasUnit\\",\\"hasNumericalValue\\":\\"om2:hasNumericalValue\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -60673,7 +61224,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -60724,7 +61275,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -60810,6 +61361,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61095,7 +61657,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61146,7 +61708,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61232,6 +61794,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61512,7 +62085,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61563,7 +62136,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61649,6 +62222,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61952,6 +62536,7 @@ export class Application extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Application with the given values. @@ -61978,13 +62563,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -62465,6 +63050,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -62501,13 +63099,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -63001,6 +63599,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -69889,6 +70500,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -70417,6 +71047,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Application\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -70921,6 +71567,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Application\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -70934,6 +71600,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -70985,6 +71662,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -72043,6 +72725,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -72593,6 +73304,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -72659,7 +73390,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -72710,7 +73441,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -72796,6 +73527,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -73088,7 +73830,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -73139,7 +73881,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -73225,6 +73967,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -73509,7 +74262,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -73593,7 +74346,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -74723,6 +75476,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -75184,7 +75948,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -75268,7 +76032,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -75567,6 +76331,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76007,7 +76782,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -76052,7 +76827,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -76151,6 +76926,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76430,7 +77216,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76481,7 +77267,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76567,6 +77353,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76852,7 +77649,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76903,7 +77700,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76989,6 +77786,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -77278,7 +78086,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -77362,7 +78170,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -78874,6 +79682,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -79338,7 +80157,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79389,7 +80208,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79475,6 +80294,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -79754,7 +80584,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79805,7 +80635,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79891,6 +80721,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -80168,7 +81009,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80219,7 +81060,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80305,6 +81146,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -81335,6 +82187,17 @@ proxyUrl?: URL | null;oauthAuthorizationEndpoint?: URL | null;oauthTokenEndpoint } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/activitystreams\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -81955,7 +82818,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -82000,7 +82863,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -82099,6 +82962,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -82379,7 +83253,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82430,7 +83304,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82516,6 +83390,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -82797,7 +83682,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82848,7 +83733,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82934,6 +83819,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -83237,6 +84133,7 @@ export class Group extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Group with the given values. @@ -83263,13 +84160,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -83750,6 +84647,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -83786,13 +84696,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -84286,6 +85196,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -91174,6 +92097,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -91702,6 +92644,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Group\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -92206,6 +93164,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Group\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -92219,6 +93197,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -92270,6 +93259,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -93328,6 +94322,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -93878,6 +94901,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -93998,7 +95041,8 @@ export class Link { #_gCVTegXxWWCw6wWRxa1QF65zusg_preview: (Link | Object | URL)[] = []; #_trust_gCVTegXxWWCw6wWRxa1QF65zusg_preview: Set = new Set(); - + #_2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + /** * Constructs a new instance of Link with the given values. * @param values The values to initialize the instance with. @@ -94010,7 +95054,7 @@ export class Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -94207,6 +95251,21 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num ); } } + + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -94229,7 +95288,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -94423,6 +95482,21 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num ); } } + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.slice(); + if (\\"licenses\\" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + \\"The licenses must be an array of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -95009,6 +96083,24 @@ get names(): ((string | LanguageString))[] { } } +/** The copyright licenses for the linked resource, as defined by + * [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + * URI, such as ; license + * names and SPDX short identifiers are not license URIs. Multiple values are + * alternatives that a consumer may choose from; their order has no meaning. + * + * An empty list means the link carries no license metadata. Fedify does not + * synthesize a default license for it. + * + * The \`https://schema.org/license\` and + * \`http://creativecommons.org/ns#license\` properties are read as synonyms + * when this property is absent, but only this property is written. + * + */ +get licenses(): (URL)[] { + return this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -95202,6 +96294,22 @@ get names(): ((string | LanguageString))[] { } + compactItems = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"license\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Link\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\"]; @@ -95402,6 +96510,26 @@ get names(): ((string | LanguageString))[] { } + array = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"http://purl.org/dc/terms/license\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Link\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -95415,6 +96543,17 @@ get names(): ((string | LanguageString))[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -95450,6 +96589,11 @@ get names(): ((string | LanguageString))[] { this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length > 0 ) return false; + if ( + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d != null && + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0 + ) return false; + return true; } @@ -95879,6 +97023,43 @@ get names(): ((string | LanguageString))[] { } instance.#_gCVTegXxWWCw6wWRxa1QF65zusg_preview = _gCVTegXxWWCw6wWRxa1QF65zusg_preview; + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + + let _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://purl.org/dc/terms/license\\"]; + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"https://schema.org/license\\"]; + } + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values[\\"http://creativecommons.org/ns#license\\"]; + } + + for ( + const v of _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null + ? [] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length === 1 && \\"@list\\" in _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0] + ? _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0][\\"@list\\"] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _2rzkBRS4gNPrkJk9DohHAMUAxA2d.push(decoded); + + } + instance.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -96120,6 +97301,28 @@ get names(): ((string | LanguageString))[] { proxy.previews = _gCVTegXxWWCw6wWRxa1QF65zusg_preview; } + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 1 + || !(\\"license\\" in proxy) + && _2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0) { + proxy.licenses = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + return proxy; } } @@ -96172,7 +97375,7 @@ export class Hashtag extends Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -96203,7 +97406,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -96302,6 +97505,17 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",{\\"Hashtag\\":\\"as:Hashtag\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -96568,7 +97782,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -96613,7 +97827,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -96712,6 +97926,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -96992,7 +98217,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97043,7 +98268,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97129,6 +98354,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -97412,7 +98648,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97463,7 +98699,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97549,6 +98785,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -97828,7 +99075,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97879,7 +99126,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97965,6 +99212,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -98244,7 +99502,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98295,7 +99553,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98381,6 +99639,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -98660,7 +99929,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98711,7 +99980,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98797,6 +100066,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99074,7 +100354,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99125,7 +100405,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99211,6 +100491,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99474,7 +100765,7 @@ export class Mention extends Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -99505,7 +100796,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -99604,6 +100895,17 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/activitystreams\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99873,7 +101175,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99924,7 +101226,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -100010,6 +101312,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -100296,7 +101609,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -100380,7 +101693,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -101510,6 +102823,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -101975,7 +103299,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -102052,7 +103376,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -102718,6 +104042,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -103140,6 +104475,7 @@ export class Organization extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Organization with the given values. @@ -103166,13 +104502,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -103653,6 +104989,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -103689,13 +105038,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -104189,6 +105538,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -111077,6 +112439,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -111605,6 +112986,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Organization\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -112109,6 +113506,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Organization\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -112122,6 +113539,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -112173,6 +113601,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -113231,6 +114664,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -113781,6 +115243,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -113844,7 +115326,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -113889,7 +115371,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -113988,6 +115470,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -114291,6 +115784,7 @@ export class Person extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Person with the given values. @@ -114317,13 +115811,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -114804,6 +116298,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -114840,13 +116347,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -115340,6 +116847,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -122228,6 +123748,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -122756,6 +124295,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Person\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -123260,6 +124815,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Person\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -123273,6 +124848,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -123324,6 +124910,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -124382,6 +125973,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -124932,6 +126552,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -125004,7 +126644,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -125127,7 +126767,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -125625,6 +127265,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -126207,7 +127858,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -126265,7 +127916,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];describes?: Object | URL | null;} = {}, options: { @@ -126836,6 +128487,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -127197,7 +128859,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -127351,7 +129013,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -129434,6 +131096,17 @@ instruments?: (Object | URL)[];exclusiveOptions?: (Object | URL)[];inclusiveOpti } let docContext: Parameters[1] = options.context ?? [\\"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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"quoteUrl\\":\\"as:quoteUrl\\",\\"_misskey_quote\\":\\"misskey:_misskey_quote\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"emojiReactions\\":{\\"@id\\":\\"fedibird:emojiReactions\\",\\"@type\\":\\"@id\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130127,7 +131800,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130178,7 +131851,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130264,6 +131937,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130543,7 +132227,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130594,7 +132278,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130680,6 +132364,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130977,7 +132672,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -131117,7 +132812,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -133016,6 +134711,17 @@ relationships?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -133490,7 +135196,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -133541,7 +135247,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -133627,6 +135333,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -133930,6 +135647,7 @@ export class Service extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Service with the given values. @@ -133956,13 +135674,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -134443,6 +136161,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } } /** @@ -134479,13 +136210,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -134979,6 +136710,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if (\\"preferredLicense\\" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + \\"The preferredLicense must be of type \\" + + \\"URL\\" + \\".\\", + ); + } + } return clone; } @@ -141867,6 +143611,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -142395,6 +144158,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result[\\"preferredLicense\\"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result[\\"type\\"] = \\"Service\\"; if (this.id != null) result[\\"id\\"] = formatIri(this.id); result[\\"@context\\"] = [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; @@ -142899,6 +144678,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { \\"@id\\": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === \\"undefined\\") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values[\\"https://w3id.org/fep/6757#preferredLicense\\"] = propValue; + + } + values[\\"@type\\"] = [\\"https://www.w3.org/ns/activitystreams#Service\\"]; if (this.id != null) values[\\"@id\\"] = formatIri(this.id); if (options.format === \\"expand\\") { @@ -142912,6 +144711,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/fep/ef61\\",\\"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\\",\\"https://w3id.org/fep/7aa9\\",{\\"alsoKnownAs\\":{\\"@id\\":\\"as:alsoKnownAs\\",\\"@type\\":\\"@id\\"},\\"featuredCollections\\":{\\"@id\\":\\"https://w3id.org/fep/7aa9#featuredCollections\\",\\"@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\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -142963,6 +144773,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -144021,6 +145836,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values[\\"https://w3id.org/fep/6757#preferredLicense\\"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && \\"@list\\" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0][\\"@list\\"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === \\"undefined\\") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -144571,6 +146415,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for(\\"nodejs.util.inspect.custom\\")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => \\"URL \\" + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -145032,6 +146896,17 @@ get contents(): ((string | LanguageString))[] { } let docContext: Parameters[1] = options.context ?? \\"https://www.w3.org/ns/activitystreams\\"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -145424,7 +147299,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145475,7 +147350,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145561,6 +147436,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -145840,7 +147726,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145891,7 +147777,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145977,6 +147863,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -146259,7 +148156,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];formerType?: $EntityType | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];formerType?: $EntityType | null; formerTypes?: ($EntityType)[];deleted?: Temporal.Instant | null;} , options: { @@ -146354,7 +148251,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];formerType?: $EntityType | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];formerType?: $EntityType | null; formerTypes?: ($EntityType)[];deleted?: Temporal.Instant | null;} = {}, @@ -146616,6 +148513,17 @@ get formerTypes(): ($EntityType)[] { } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147023,7 +148931,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147074,7 +148982,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147160,6 +149068,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147444,7 +149363,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147495,7 +149414,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147581,6 +149500,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns\\",{\\"litepub\\":\\"http://litepub.social/ns#\\",\\"toot\\":\\"http://joinmastodon.org/ns#\\",\\"EmojiReact\\":\\"litepub:EmojiReact\\",\\"Emoji\\":\\"toot:Emoji\\"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147863,7 +149793,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147914,7 +149844,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148000,6 +149930,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://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\\",\\"quote\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quote\\",\\"@type\\":\\"@id\\"},\\"fedibird\\":\\"http://fedibird.com/ns#\\",\\"quoteUri\\":\\"fedibird:quoteUri\\",\\"QuoteAuthorization\\":\\"https://w3id.org/fep/044f#QuoteAuthorization\\",\\"QuoteRequest\\":\\"https://w3id.org/fep/044f#QuoteRequest\\",\\"quoteAuthorization\\":{\\"@id\\":\\"https://w3id.org/fep/044f#quoteAuthorization\\",\\"@type\\":\\"@id\\"},\\"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\\"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -148277,7 +150218,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -148322,7 +150263,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -148421,6 +150362,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? [\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v2\\",{\\"digestMultibase\\":\\"https://www.w3.org/ns/credentials/v2#digestMultibase\\"},\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -148699,7 +150651,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148750,7 +150702,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148836,6 +150788,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? [\\"https://w3id.org/identity/v1\\",\\"https://www.w3.org/ns/activitystreams\\",\\"https://w3id.org/security/data-integrity/v1\\",\\"https://gotosocial.org/ns\\"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let 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 5b03d3825..127cd053f 100644 --- a/packages/vocab-tools/src/__snapshots__/class.test.ts.snap +++ b/packages/vocab-tools/src/__snapshots__/class.test.ts.snap @@ -91,8 +91,33 @@ function isValidLanguageTag(language: string): boolean { } } +function getAbsoluteIriValue(value: unknown): string | undefined { + if (value == null || typeof value !== "object") return undefined; + const node = value as Record; + if (typeof node["@id"] === "string") { + return node["@id"].startsWith("_:") ? undefined : node["@id"]; + } + // A language tag can come from a context's default language, so it does + // not make a literal any less of an IRI: + if (typeof node["@value"] !== "string") return undefined; + const type = node["@type"]; + return type == null || + type === "http://www.w3.org/2001/XMLSchema#string" || + type === "http://www.w3.org/2001/XMLSchema#anyURI" + ? node["@value"] + : undefined; +} + +function isAbsoluteIriValue(value: unknown): boolean { + const iri = getAbsoluteIriValue(value); + return iri != null && canDecodeIri(iri); +} + const extraPropertyContexts: Readonly> = - {"https://schema.org/translator":"https://w3id.org/fep/22cd","https://w3id.org/fep/22cd#translations":"https://w3id.org/fep/22cd"}; + {"https://schema.org/translator":"https://w3id.org/fep/22cd","https://w3id.org/fep/6757#preferredLicense":"https://w3id.org/fep/6757","http://purl.org/dc/terms/license":"https://w3id.org/fep/6757","https://w3id.org/fep/22cd#translations":"https://w3id.org/fep/22cd"}; + +const extraContextUrls: readonly string[] = + ["https://w3id.org/fep/22cd","https://w3id.org/fep/6757"]; function getExtraContexts(document: unknown): string[] { const contexts = new Set(); @@ -106,7 +131,16 @@ function getExtraContexts(document: unknown): string[] { } if ("@value" in value) continue; for (const [key, child] of globalThis.Object.entries(value)) { - if (key === "@context") continue; + if (key === "@context") { + for (const context of Array.isArray(child) ? child : [child]) { + if ( + typeof context === "string" && extraContextUrls.includes(context) + ) { + contexts.add(context); + } + } + continue; + } if (globalThis.Object.hasOwn(extraPropertyContexts, key)) { contexts.add(extraPropertyContexts[key]); } @@ -118,7 +152,7 @@ function getExtraContexts(document: unknown): string[] { const PORTABLE_IRI_PATTERN = /^ap(?:\\+ef61)?:\\/\\//i; -const PORTABLE_IRI_KEYS: ReadonlySet = new Set(["@id","_misskey_quote","actor","alsoKnownAs","announceAuthorization","anyOf","approvedBy","assertionMethod","attachment","attributedTo","audience","automaticApproval","bcc","bto","cc","context","controller","current","describes","emojiReactions","featureAuthorization","featured","featuredCollections","featuredObject","featuredTags","first","followers","followersOf","following","followingOf","generator","href","http://fedibird.com/ns#emojiReactions","http://fedibird.com/ns#quoteUri","http://joinmastodon.org/ns#featured","http://joinmastodon.org/ns#featuredTags","http://www.w3.org/ns/ldp#inbox","https://gotosocial.org/ns#announceAuthorization","https://gotosocial.org/ns#approvedBy","https://gotosocial.org/ns#automaticApproval","https://gotosocial.org/ns#interactingObject","https://gotosocial.org/ns#interactionTarget","https://gotosocial.org/ns#likeAuthorization","https://gotosocial.org/ns#manualApproval","https://gotosocial.org/ns#replyAuthorization","https://misskey-hub.net/ns#_misskey_quote","https://schema.org/isBasedOn","https://schema.org/translationOfWork","https://schema.org/translator","https://w3id.org/fep/044f#quote","https://w3id.org/fep/044f#quoteAuthorization","https://w3id.org/fep/5711#followersOf","https://w3id.org/fep/5711#followingOf","https://w3id.org/fep/5711#inboxOf","https://w3id.org/fep/5711#likedOf","https://w3id.org/fep/5711#likesOf","https://w3id.org/fep/5711#outboxOf","https://w3id.org/fep/5711#repliesOf","https://w3id.org/fep/5711#sharesOf","https://w3id.org/fep/7aa9#featureAuthorization","https://w3id.org/fep/7aa9#featuredCollections","https://w3id.org/fep/7aa9#featuredObject","https://w3id.org/security#assertionMethod","https://w3id.org/security#controller","https://w3id.org/security#owner","https://w3id.org/security#proof","https://w3id.org/security#publicKey","https://w3id.org/security#verificationMethod","https://w3id.org/valueflows/ont/vf#resourceConformsTo","https://w3id.org/valueflows/ont/vf#satisfies","https://www.w3.org/ns/activitystreams#actor","https://www.w3.org/ns/activitystreams#alsoKnownAs","https://www.w3.org/ns/activitystreams#anyOf","https://www.w3.org/ns/activitystreams#attachment","https://www.w3.org/ns/activitystreams#attributedTo","https://www.w3.org/ns/activitystreams#audience","https://www.w3.org/ns/activitystreams#bcc","https://www.w3.org/ns/activitystreams#bto","https://www.w3.org/ns/activitystreams#cc","https://www.w3.org/ns/activitystreams#context","https://www.w3.org/ns/activitystreams#current","https://www.w3.org/ns/activitystreams#describes","https://www.w3.org/ns/activitystreams#first","https://www.w3.org/ns/activitystreams#followers","https://www.w3.org/ns/activitystreams#following","https://www.w3.org/ns/activitystreams#generator","https://www.w3.org/ns/activitystreams#href","https://www.w3.org/ns/activitystreams#icon","https://www.w3.org/ns/activitystreams#image","https://www.w3.org/ns/activitystreams#inReplyTo","https://www.w3.org/ns/activitystreams#instrument","https://www.w3.org/ns/activitystreams#items","https://www.w3.org/ns/activitystreams#last","https://www.w3.org/ns/activitystreams#liked","https://www.w3.org/ns/activitystreams#likes","https://www.w3.org/ns/activitystreams#location","https://www.w3.org/ns/activitystreams#movedTo","https://www.w3.org/ns/activitystreams#next","https://www.w3.org/ns/activitystreams#oauthAuthorizationEndpoint","https://www.w3.org/ns/activitystreams#oauthTokenEndpoint","https://www.w3.org/ns/activitystreams#object","https://www.w3.org/ns/activitystreams#oneOf","https://www.w3.org/ns/activitystreams#origin","https://www.w3.org/ns/activitystreams#outbox","https://www.w3.org/ns/activitystreams#partOf","https://www.w3.org/ns/activitystreams#prev","https://www.w3.org/ns/activitystreams#preview","https://www.w3.org/ns/activitystreams#provideClientKey","https://www.w3.org/ns/activitystreams#proxyUrl","https://www.w3.org/ns/activitystreams#quoteUrl","https://www.w3.org/ns/activitystreams#relationship","https://www.w3.org/ns/activitystreams#replies","https://www.w3.org/ns/activitystreams#result","https://www.w3.org/ns/activitystreams#sharedInbox","https://www.w3.org/ns/activitystreams#shares","https://www.w3.org/ns/activitystreams#signClientKey","https://www.w3.org/ns/activitystreams#streams","https://www.w3.org/ns/activitystreams#subject","https://www.w3.org/ns/activitystreams#tag","https://www.w3.org/ns/activitystreams#target","https://www.w3.org/ns/activitystreams#to","https://www.w3.org/ns/activitystreams#units","https://www.w3.org/ns/activitystreams#uploadMedia","https://www.w3.org/ns/activitystreams#url","https://www.w3.org/ns/did#service","https://www.w3.org/ns/did#serviceEndpoint","icon","id","image","inReplyTo","inbox","inboxOf","instrument","interactingObject","interactionTarget","isBasedOn","items","last","likeAuthorization","liked","likedOf","likes","likesOf","location","manualApproval","movedTo","next","oauthAuthorizationEndpoint","oauthTokenEndpoint","object","oneOf","orderedItems","origin","outbox","outboxOf","owner","partOf","prev","preview","proof","provideClientKey","proxyUrl","publicKey","quote","quoteAuthorization","quoteUri","quoteUrl","relationship","replies","repliesOf","replyAuthorization","resourceConformsTo","result","satisfies","service","sharedInbox","shares","sharesOf","signClientKey","streams","subject","tag","target","to","translationOfWork","translator","units","uploadMedia","url"]); +const PORTABLE_IRI_KEYS: ReadonlySet = new Set(["@id","_misskey_quote","actor","alsoKnownAs","announceAuthorization","anyOf","approvedBy","assertionMethod","attachment","attributedTo","audience","automaticApproval","bcc","bto","cc","context","controller","current","describes","emojiReactions","featureAuthorization","featured","featuredCollections","featuredObject","featuredTags","first","followers","followersOf","following","followingOf","generator","href","http://creativecommons.org/ns#license","http://fedibird.com/ns#emojiReactions","http://fedibird.com/ns#quoteUri","http://joinmastodon.org/ns#featured","http://joinmastodon.org/ns#featuredTags","http://purl.org/dc/terms/license","http://www.w3.org/ns/ldp#inbox","https://gotosocial.org/ns#announceAuthorization","https://gotosocial.org/ns#approvedBy","https://gotosocial.org/ns#automaticApproval","https://gotosocial.org/ns#interactingObject","https://gotosocial.org/ns#interactionTarget","https://gotosocial.org/ns#likeAuthorization","https://gotosocial.org/ns#manualApproval","https://gotosocial.org/ns#replyAuthorization","https://misskey-hub.net/ns#_misskey_quote","https://schema.org/isBasedOn","https://schema.org/license","https://schema.org/translationOfWork","https://schema.org/translator","https://w3id.org/fep/044f#quote","https://w3id.org/fep/044f#quoteAuthorization","https://w3id.org/fep/5711#followersOf","https://w3id.org/fep/5711#followingOf","https://w3id.org/fep/5711#inboxOf","https://w3id.org/fep/5711#likedOf","https://w3id.org/fep/5711#likesOf","https://w3id.org/fep/5711#outboxOf","https://w3id.org/fep/5711#repliesOf","https://w3id.org/fep/5711#sharesOf","https://w3id.org/fep/6757#preferredLicense","https://w3id.org/fep/7aa9#featureAuthorization","https://w3id.org/fep/7aa9#featuredCollections","https://w3id.org/fep/7aa9#featuredObject","https://w3id.org/security#assertionMethod","https://w3id.org/security#controller","https://w3id.org/security#owner","https://w3id.org/security#proof","https://w3id.org/security#publicKey","https://w3id.org/security#verificationMethod","https://w3id.org/valueflows/ont/vf#resourceConformsTo","https://w3id.org/valueflows/ont/vf#satisfies","https://www.w3.org/ns/activitystreams#actor","https://www.w3.org/ns/activitystreams#alsoKnownAs","https://www.w3.org/ns/activitystreams#anyOf","https://www.w3.org/ns/activitystreams#attachment","https://www.w3.org/ns/activitystreams#attributedTo","https://www.w3.org/ns/activitystreams#audience","https://www.w3.org/ns/activitystreams#bcc","https://www.w3.org/ns/activitystreams#bto","https://www.w3.org/ns/activitystreams#cc","https://www.w3.org/ns/activitystreams#context","https://www.w3.org/ns/activitystreams#current","https://www.w3.org/ns/activitystreams#describes","https://www.w3.org/ns/activitystreams#first","https://www.w3.org/ns/activitystreams#followers","https://www.w3.org/ns/activitystreams#following","https://www.w3.org/ns/activitystreams#generator","https://www.w3.org/ns/activitystreams#href","https://www.w3.org/ns/activitystreams#icon","https://www.w3.org/ns/activitystreams#image","https://www.w3.org/ns/activitystreams#inReplyTo","https://www.w3.org/ns/activitystreams#instrument","https://www.w3.org/ns/activitystreams#items","https://www.w3.org/ns/activitystreams#last","https://www.w3.org/ns/activitystreams#liked","https://www.w3.org/ns/activitystreams#likes","https://www.w3.org/ns/activitystreams#location","https://www.w3.org/ns/activitystreams#movedTo","https://www.w3.org/ns/activitystreams#next","https://www.w3.org/ns/activitystreams#oauthAuthorizationEndpoint","https://www.w3.org/ns/activitystreams#oauthTokenEndpoint","https://www.w3.org/ns/activitystreams#object","https://www.w3.org/ns/activitystreams#oneOf","https://www.w3.org/ns/activitystreams#origin","https://www.w3.org/ns/activitystreams#outbox","https://www.w3.org/ns/activitystreams#partOf","https://www.w3.org/ns/activitystreams#prev","https://www.w3.org/ns/activitystreams#preview","https://www.w3.org/ns/activitystreams#provideClientKey","https://www.w3.org/ns/activitystreams#proxyUrl","https://www.w3.org/ns/activitystreams#quoteUrl","https://www.w3.org/ns/activitystreams#relationship","https://www.w3.org/ns/activitystreams#replies","https://www.w3.org/ns/activitystreams#result","https://www.w3.org/ns/activitystreams#sharedInbox","https://www.w3.org/ns/activitystreams#shares","https://www.w3.org/ns/activitystreams#signClientKey","https://www.w3.org/ns/activitystreams#streams","https://www.w3.org/ns/activitystreams#subject","https://www.w3.org/ns/activitystreams#tag","https://www.w3.org/ns/activitystreams#target","https://www.w3.org/ns/activitystreams#to","https://www.w3.org/ns/activitystreams#units","https://www.w3.org/ns/activitystreams#uploadMedia","https://www.w3.org/ns/activitystreams#url","https://www.w3.org/ns/did#service","https://www.w3.org/ns/did#serviceEndpoint","icon","id","image","inReplyTo","inbox","inboxOf","instrument","interactingObject","interactionTarget","isBasedOn","items","last","license","likeAuthorization","liked","likedOf","likes","likesOf","location","manualApproval","movedTo","next","oauthAuthorizationEndpoint","oauthTokenEndpoint","object","oneOf","orderedItems","origin","outbox","outboxOf","owner","partOf","preferredLicense","prev","preview","proof","provideClientKey","proxyUrl","publicKey","quote","quoteAuthorization","quoteUri","quoteUrl","relationship","replies","repliesOf","replyAuthorization","resourceConformsTo","result","satisfies","service","sharedInbox","shares","sharesOf","signClientKey","streams","subject","tag","target","to","translationOfWork","translator","units","uploadMedia","url"]); import * as _ppM0 from "./preprocessors.ts"; @@ -285,6 +319,7 @@ export class Object { #_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: (AnnounceAuthorization | URL)[] = []; #_trust_446xEaDBs3Fz6MyzP3PSBaLupkbJ_announceAuthorization: Set = new Set(); #_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations: (Translation)[] = []; +#_2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; /** * Constructs a new instance of Object with the given values. @@ -311,7 +346,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -1275,6 +1310,21 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } + + if ("licenses" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + "The licenses must be an array of type " + + "URL" + ".", + ); + } + } } /** @@ -1311,7 +1361,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -2287,6 +2337,21 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu ); } } + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.slice(); + if ("licenses" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + "The licenses must be an array of type " + + "URL" + ".", + ); + } + } return clone; } @@ -14410,6 +14475,29 @@ get translations(): (Translation)[] { return this.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; } +/** The copyright licenses for this object, as defined by + * [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + * URI, such as ; license names + * and SPDX short identifiers are not license URIs. Multiple values are + * alternatives that a consumer may choose from; their order has no meaning. + * + * An empty list means the object carries no license metadata. Fedify does + * not synthesize a default license for it; FEP-6757 suggests that consumers + * treat such content as “all rights reserved,” but that is a consumer policy, + * not a value of this property. A license on an actor, activity, or + * collection covers that object itself, not the objects the actor authored, + * the activity's object, or the collection's items. An actor's + * \`preferredLicense\` is not a fallback for this property either. + * + * The \`https://schema.org/license\` and + * \`http://creativecommons.org/ns#license\` properties are read as synonyms + * when this property is absent, but only this property is written. + * + */ +get licenses(): (URL)[] { + return this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -15221,6 +15309,22 @@ get translations(): (Translation)[] { } + compactItems = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["license"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Object"; if (this.id != null) result["id"] = formatIri(this.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"}}]; @@ -16016,6 +16120,26 @@ get translations(): (Translation)[] { } + array = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + let element = ( + { "@id": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === "undefined") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["http://purl.org/dc/terms/license"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Object"]; if (this.id != null) values["@id"] = formatIri(this.id); if (options.format === "expand") { @@ -16029,6 +16153,17 @@ get translations(): (Translation)[] { } let docContext: Parameters[1] = options.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"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -16100,6 +16235,11 @@ get translations(): (Translation)[] { this.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations.length > 0 ) return false; + if ( + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d != null && + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0 + ) return false; + return true; } @@ -18052,6 +18192,43 @@ get translations(): (Translation)[] { } instance.#_a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations = _a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + + let _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values["http://purl.org/dc/terms/license"]; + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values["https://schema.org/license"]; + } + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values["http://creativecommons.org/ns#license"]; + } + + for ( + const v of _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null + ? [] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length === 1 && "@list" in _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0] + ? _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0]["@list"] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === "undefined") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _2rzkBRS4gNPrkJk9DohHAMUAxA2d.push(decoded); + + } + instance.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -18965,6 +19142,28 @@ get translations(): (Translation)[] { proxy.translations = _a1jKLXa1P1ZoKTfTM2CzmhHK3cP_translations; } + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d + // 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(inspectIri(v), options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(inspectIri(v), options), + } + : v); + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 1 + || !("license" in proxy) + && _2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0) { + proxy.licenses = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + return proxy; } } @@ -19028,7 +19227,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -19073,7 +19272,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -19172,6 +19371,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams",{"toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -19461,7 +19671,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -19545,7 +19755,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -20675,6 +20885,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -21156,7 +21377,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -21447,7 +21668,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -25463,6 +25684,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -26300,7 +26532,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26351,7 +26583,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -26437,6 +26669,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -27064,6 +27307,17 @@ name?: string | LanguageString | null;value?: string | LanguageString | null;} } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams",{"schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -27802,6 +28056,17 @@ unit?: string | null;numericalValue?: Decimal | null;} } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams",{"om2":"http://www.ontology-of-units-of-measure.org/resource/om-2/","hasUnit":"om2:hasUnit","hasNumericalValue":"om2:hasNumericalValue"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -28192,7 +28457,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -28263,7 +28528,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -29305,6 +29570,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -29715,7 +29991,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29766,7 +30042,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -29852,6 +30128,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -30629,6 +30916,17 @@ canFeature?: InteractionRule | null;canLike?: InteractionRule | null;canReply?: } let docContext: Parameters[1] = options.context ?? ["https://gotosocial.org/ns","https://w3id.org/fep/7aa9"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -31620,6 +31918,17 @@ get manualApprovals(): (URL)[] { } let docContext: Parameters[1] = options.context ?? "https://gotosocial.org/ns"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -32021,7 +32330,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -32092,7 +32401,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -33134,6 +33443,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -33543,7 +33863,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33594,7 +33914,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -33680,6 +34000,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -33971,7 +34302,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -34042,7 +34373,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -35084,6 +35415,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -35493,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?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35544,7 +35886,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -35630,6 +35972,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -35921,7 +36274,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -35992,7 +36345,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -37033,6 +37386,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -37442,7 +37806,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -37493,7 +37857,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -37579,6 +37943,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["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","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -39293,6 +39668,17 @@ get urls(): ((URL | Link))[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/22cd"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -39931,7 +40317,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -40002,7 +40388,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];interactingObject?: Object | URL | null;interactionTarget?: Object | URL | null;} = {}, options: { @@ -41041,6 +41427,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns","https://w3id.org/fep/7aa9"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -41447,7 +41844,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -41498,7 +41895,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -41584,6 +41981,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns","https://w3id.org/fep/7aa9"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -41903,7 +42311,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -42123,7 +42531,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -47977,6 +48385,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -49065,7 +49484,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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)[];} , options: { documentLoader?: DocumentLoader, @@ -49129,7 +49548,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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)[];} = {}, options: { @@ -49728,6 +50147,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -50084,7 +50514,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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)[];topic?: Hashtag | null;discoverable?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (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)[];topic?: Hashtag | null;discoverable?: boolean | null;} , options: { documentLoader?: DocumentLoader, @@ -50155,7 +50585,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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)[];topic?: Hashtag | null;discoverable?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (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)[];topic?: Hashtag | null;discoverable?: boolean | null;} = {}, options: { @@ -50387,6 +50817,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns","https://w3id.org/fep/7aa9",{"toot":"http://joinmastodon.org/ns#","sensitive":"as:sensitive","discoverable":"toot:discoverable","Hashtag":"as:Hashtag"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -50774,7 +51215,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -50845,7 +51286,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];featuredObject?: Object | URL | null;featureAuthorization?: FeatureAuthorization | URL | null;} = {}, options: { @@ -51886,6 +52327,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns","https://w3id.org/fep/7aa9"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -52580,6 +53032,17 @@ get endpoints(): (URL)[] { } let docContext: Parameters[1] = options.context ?? "https://www.w3.org/ns/did/v1"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -53012,6 +53475,17 @@ endpoints?: (URL)[];} } let docContext: Parameters[1] = options.context ?? "https://www.w3.org/ns/did/v1"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -54149,6 +54623,17 @@ cryptosuite?: "eddsa-jcs-2022" | null;verificationMethod?: Multikey | URL | null } let docContext: Parameters[1] = options.context ?? "https://w3id.org/security/data-integrity/v1"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -55517,6 +56002,17 @@ owner?: Application | Group | Organization | Person | Service | URL | null;publi } let docContext: Parameters[1] = options.context ?? "https://w3id.org/security/v1"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -56762,6 +57258,17 @@ controller?: Application | Group | Organization | Person | Service | URL | null; } let docContext: Parameters[1] = options.context ?? "https://w3id.org/security/multikey/v1"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -57180,7 +57687,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} , options: { documentLoader?: DocumentLoader, @@ -57251,7 +57758,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];stipulates?: Commitment | null;stipulatesReciprocal?: Commitment | null;} = {}, options: { @@ -57488,6 +57995,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"vf":"https://w3id.org/valueflows/ont/vf#","om2":"http://www.ontology-of-units-of-measure.org/resource/om-2/","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"},"Agreement":"vf:Agreement","Commitment":"vf:Commitment","stipulates":"vf:stipulates","stipulatesReciprocal":"vf:stipulatesReciprocal","satisfies":{"@id":"vf:satisfies","@type":"@id"},"resourceQuantity":"vf:resourceQuantity","hasUnit":"om2:hasUnit","hasNumericalValue":"om2:hasNumericalValue"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -58223,6 +58741,17 @@ satisfies?: URL | null;resourceQuantity?: Measure | null;} } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams",{"vf":"https://w3id.org/valueflows/ont/vf#","om2":"http://www.ontology-of-units-of-measure.org/resource/om-2/","Commitment":"vf:Commitment","satisfies":{"@id":"vf:satisfies","@type":"@id"},"resourceQuantity":"vf:resourceQuantity","hasUnit":"om2:hasUnit","hasNumericalValue":"om2:hasNumericalValue"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -59187,6 +59716,17 @@ action?: string | null;resourceConformsTo?: URL | null;resourceQuantity?: Measur } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams",{"vf":"https://w3id.org/valueflows/ont/vf#","om2":"http://www.ontology-of-units-of-measure.org/resource/om-2/","Intent":"vf:Intent","action":"vf:action","resourceConformsTo":{"@id":"vf:resourceConformsTo","@type":"@id"},"resourceQuantity":"vf:resourceQuantity","availableQuantity":"vf:availableQuantity","minimumQuantity":"vf:minimumQuantity","hasUnit":"om2:hasUnit","hasNumericalValue":"om2:hasNumericalValue"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -59734,7 +60274,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} , options: { documentLoader?: DocumentLoader, @@ -59831,7 +60371,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];purpose?: string | null;publishes?: Intent | null;reciprocal?: Intent | null;unitBased?: boolean | null;} = {}, options: { @@ -60193,6 +60733,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns",{"vf":"https://w3id.org/valueflows/ont/vf#","om2":"http://www.ontology-of-units-of-measure.org/resource/om-2/","fedibird":"http://fedibird.com/ns#","sensitive":"as:sensitive","emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"},"Proposal":"vf:Proposal","Intent":"vf:Intent","purpose":"vf:purpose","unitBased":"vf:unitBased","publishes":"vf:publishes","reciprocal":"vf:reciprocal","action":"vf:action","resourceConformsTo":{"@id":"vf:resourceConformsTo","@type":"@id"},"resourceQuantity":"vf:resourceQuantity","availableQuantity":"vf:availableQuantity","minimumQuantity":"vf:minimumQuantity","hasUnit":"om2:hasUnit","hasNumericalValue":"om2:hasNumericalValue"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -60675,7 +61226,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -60726,7 +61277,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -60812,6 +61363,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61097,7 +61659,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61148,7 +61710,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61234,6 +61796,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61514,7 +62087,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61565,7 +62138,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -61651,6 +62224,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -61954,6 +62538,7 @@ export class Application extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Application with the given values. @@ -61980,13 +62565,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -62467,6 +63052,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } } /** @@ -62503,13 +63101,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -63003,6 +63601,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } return clone; } @@ -69891,6 +70502,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -70419,6 +71049,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["preferredLicense"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Application"; if (this.id != null) result["id"] = formatIri(this.id); result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; @@ -70923,6 +71569,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { "@id": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === "undefined") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://w3id.org/fep/6757#preferredLicense"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Application"]; if (this.id != null) values["@id"] = formatIri(this.id); if (options.format === "expand") { @@ -70936,6 +71602,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -70987,6 +71664,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -72045,6 +72727,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values["https://w3id.org/fep/6757#preferredLicense"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && "@list" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0]["@list"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === "undefined") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -72595,6 +73306,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -72661,7 +73392,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -72712,7 +73443,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -72798,6 +73529,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -73090,7 +73832,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -73141,7 +73883,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -73227,6 +73969,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -73511,7 +74264,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -73595,7 +74348,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -74725,6 +75478,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -75186,7 +75950,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -75270,7 +76034,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -75569,6 +76333,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v2",{"digestMultibase":"https://www.w3.org/ns/credentials/v2#digestMultibase"},"https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76009,7 +76784,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -76054,7 +76829,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -76153,6 +76928,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v2",{"digestMultibase":"https://www.w3.org/ns/credentials/v2#digestMultibase"},"https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76432,7 +77218,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76483,7 +77269,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76569,6 +77355,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -76854,7 +77651,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76905,7 +77702,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -76991,6 +77788,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -77280,7 +78088,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -77364,7 +78172,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -78876,6 +79684,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -79340,7 +80159,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79391,7 +80210,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79477,6 +80296,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -79756,7 +80586,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79807,7 +80637,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -79893,6 +80723,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -80170,7 +81011,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80221,7 +81062,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -80307,6 +81148,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -81337,6 +82189,17 @@ proxyUrl?: URL | null;oauthAuthorizationEndpoint?: URL | null;oauthTokenEndpoint } let docContext: Parameters[1] = options.context ?? "https://www.w3.org/ns/activitystreams"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -81957,7 +82820,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -82002,7 +82865,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];} = {}, options: { @@ -82101,6 +82964,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -82381,7 +83255,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82432,7 +83306,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82518,6 +83392,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -82799,7 +83684,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82850,7 +83735,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -82936,6 +83821,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -83239,6 +84135,7 @@ export class Group extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Group with the given values. @@ -83265,13 +84162,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -83752,6 +84649,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } } /** @@ -83788,13 +84698,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -84288,6 +85198,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } return clone; } @@ -91176,6 +92099,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -91704,6 +92646,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["preferredLicense"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Group"; if (this.id != null) result["id"] = formatIri(this.id); result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; @@ -92208,6 +93166,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { "@id": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === "undefined") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://w3id.org/fep/6757#preferredLicense"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Group"]; if (this.id != null) values["@id"] = formatIri(this.id); if (options.format === "expand") { @@ -92221,6 +93199,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -92272,6 +93261,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -93330,6 +94324,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values["https://w3id.org/fep/6757#preferredLicense"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && "@list" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0]["@list"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === "undefined") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -93880,6 +94903,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -94000,7 +95043,8 @@ export class Link { #_gCVTegXxWWCw6wWRxa1QF65zusg_preview: (Link | Object | URL)[] = []; #_trust_gCVTegXxWWCw6wWRxa1QF65zusg_preview: Set = new Set(); - + #_2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + /** * Constructs a new instance of Link with the given values. * @param values The values to initialize the instance with. @@ -94012,7 +95056,7 @@ export class Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -94209,6 +95253,21 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num ); } } + + if ("licenses" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + "The licenses must be an array of type " + + "URL" + ".", + ); + } + } } /** @@ -94231,7 +95290,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -94425,6 +95484,21 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num ); } } + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.slice(); + if ("licenses" in values && values.licenses != null) { + + if (Array.isArray(values.licenses) && + values.licenses.every(v => v instanceof URL)) { + // @ts-ignore: type is checked above. + clone.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = values.licenses.slice(); + + } else { + throw new TypeError( + "The licenses must be an array of type " + + "URL" + ".", + ); + } + } return clone; } @@ -95011,6 +96085,24 @@ get names(): ((string | LanguageString))[] { } } +/** The copyright licenses for the linked resource, as defined by + * [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + * URI, such as ; license + * names and SPDX short identifiers are not license URIs. Multiple values are + * alternatives that a consumer may choose from; their order has no meaning. + * + * An empty list means the link carries no license metadata. Fedify does not + * synthesize a default license for it. + * + * The \`https://schema.org/license\` and + * \`http://creativecommons.org/ns#license\` properties are read as synonyms + * when this property is absent, but only this property is written. + * + */ +get licenses(): (URL)[] { + return this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -95204,6 +96296,22 @@ get names(): ((string | LanguageString))[] { } + compactItems = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["license"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Link"; if (this.id != null) result["id"] = formatIri(this.id); result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61"]; @@ -95404,6 +96512,26 @@ get names(): ((string | LanguageString))[] { } + array = []; + for (const v of this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d) { + let element = ( + { "@id": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === "undefined") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["http://purl.org/dc/terms/license"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Link"]; if (this.id != null) values["@id"] = formatIri(this.id); if (options.format === "expand") { @@ -95417,6 +96545,17 @@ get names(): ((string | LanguageString))[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -95452,6 +96591,11 @@ get names(): ((string | LanguageString))[] { this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.length > 0 ) return false; + if ( + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d != null && + this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0 + ) return false; + return true; } @@ -95881,6 +97025,43 @@ get names(): ((string | LanguageString))[] { } instance.#_gCVTegXxWWCw6wWRxa1QF65zusg_preview = _gCVTegXxWWCw6wWRxa1QF65zusg_preview; + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d: (URL)[] = []; + + let _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values["http://purl.org/dc/terms/license"]; + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values["https://schema.org/license"]; + } + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null || _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length < 1) { + _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array = values["http://creativecommons.org/ns#license"]; + } + + for ( + const v of _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array == null + ? [] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array.length === 1 && "@list" in _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0] + ? _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array[0]["@list"] + : _2rzkBRS4gNPrkJk9DohHAMUAxA2d__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === "undefined") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _2rzkBRS4gNPrkJk9DohHAMUAxA2d.push(decoded); + + } + instance.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -96122,6 +97303,28 @@ get names(): ((string | LanguageString))[] { proxy.previews = _gCVTegXxWWCw6wWRxa1QF65zusg_preview; } + const _2rzkBRS4gNPrkJk9DohHAMUAxA2d = this.#_2rzkBRS4gNPrkJk9DohHAMUAxA2d + // 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(inspectIri(v), options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(inspectIri(v), options), + } + : v); + + if (_2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 1 + || !("license" in proxy) + && _2rzkBRS4gNPrkJk9DohHAMUAxA2d.length > 0) { + proxy.licenses = _2rzkBRS4gNPrkJk9DohHAMUAxA2d; + } + return proxy; } } @@ -96174,7 +97377,7 @@ export class Hashtag extends Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -96205,7 +97408,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -96304,6 +97507,17 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams",{"Hashtag":"as:Hashtag"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -96570,7 +97784,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -96615,7 +97829,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -96714,6 +97928,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v2",{"digestMultibase":"https://www.w3.org/ns/credentials/v2#digestMultibase"},"https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -96994,7 +98219,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97045,7 +98270,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97131,6 +98356,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -97414,7 +98650,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97465,7 +98701,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97551,6 +98787,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -97830,7 +99077,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97881,7 +99128,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -97967,6 +99214,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -98246,7 +99504,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98297,7 +99555,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98383,6 +99641,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -98662,7 +99931,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98713,7 +99982,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -98799,6 +100068,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99076,7 +100356,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99127,7 +100407,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99213,6 +100493,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99476,7 +100767,7 @@ export class Mention extends Link { id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} , options: { documentLoader?: DocumentLoader, @@ -99507,7 +100798,7 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num id?: URL | null; href?: URL | null;rel?: string | null; rels?: (string)[];mediaType?: string | null;digestMultibase?: string | null;name?: string | LanguageString | null; -names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];} +names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: number | null;width?: number | null;previews?: (Link | Object | URL)[];licenses?: (URL)[];} = {}, options: { @@ -99606,6 +100897,17 @@ names?: ((string | LanguageString))[];language?: Intl.Locale | null;height?: num } let docContext: Parameters[1] = options.context ?? "https://www.w3.org/ns/activitystreams"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -99875,7 +101177,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -99926,7 +101228,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -100012,6 +101314,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -100298,7 +101611,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -100382,7 +101695,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];quote?: Object | URL | null;quoteUrl?: URL | null;quoteAuthorization?: QuoteAuthorization | URL | null;} = {}, options: { @@ -101512,6 +102825,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -101977,7 +103301,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -102054,7 +103378,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -102720,6 +104044,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -103142,6 +104477,7 @@ export class Organization extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Organization with the given values. @@ -103168,13 +104504,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -103655,6 +104991,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } } /** @@ -103691,13 +105040,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -104191,6 +105540,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } return clone; } @@ -111079,6 +112441,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -111607,6 +112988,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["preferredLicense"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Organization"; if (this.id != null) result["id"] = formatIri(this.id); result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; @@ -112111,6 +113508,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { "@id": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === "undefined") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://w3id.org/fep/6757#preferredLicense"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Organization"]; if (this.id != null) values["@id"] = formatIri(this.id); if (options.format === "expand") { @@ -112124,6 +113541,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -112175,6 +113603,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -113233,6 +114666,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values["https://w3id.org/fep/6757#preferredLicense"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && "@list" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0]["@list"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === "undefined") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -113783,6 +115245,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -113846,7 +115328,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -113891,7 +115373,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -113990,6 +115472,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v2",{"digestMultibase":"https://www.w3.org/ns/credentials/v2#digestMultibase"},"https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -114293,6 +115786,7 @@ export class Person extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Person with the given values. @@ -114319,13 +115813,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -114806,6 +116300,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } } /** @@ -114842,13 +116349,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -115342,6 +116849,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } return clone; } @@ -122230,6 +123750,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -122758,6 +124297,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["preferredLicense"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Person"; if (this.id != null) result["id"] = formatIri(this.id); result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; @@ -123262,6 +124817,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { "@id": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === "undefined") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://w3id.org/fep/6757#preferredLicense"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Person"]; if (this.id != null) values["@id"] = formatIri(this.id); if (options.format === "expand") { @@ -123275,6 +124850,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -123326,6 +124912,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -124384,6 +125975,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values["https://w3id.org/fep/6757#preferredLicense"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && "@list" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0]["@list"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === "undefined") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -124934,6 +126554,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -125006,7 +126646,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} , options: { documentLoader?: DocumentLoader, @@ -125129,7 +126769,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (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;} = {}, options: { @@ -125627,6 +127267,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -126209,7 +127860,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];describes?: Object | URL | null;} , options: { documentLoader?: DocumentLoader, @@ -126267,7 +127918,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];describes?: Object | URL | null;} = {}, options: { @@ -126838,6 +128489,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -127199,7 +128861,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -127353,7 +129015,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -129436,6 +131098,17 @@ instruments?: (Object | URL)[];exclusiveOptions?: (Object | URL)[];inclusiveOpti } let docContext: Parameters[1] = options.context ?? ["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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"quoteUrl":"as:quoteUrl","_misskey_quote":"misskey:_misskey_quote","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"emojiReactions":{"@id":"fedibird:emojiReactions","@type":"@id"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130129,7 +131802,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130180,7 +131853,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130266,6 +131939,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130545,7 +132229,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130596,7 +132280,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -130682,6 +132366,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -130979,7 +132674,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} , @@ -131119,7 +132814,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];subject?: Object | URL | null;object?: Object | URL | null; objects?: (Object | URL)[];relationship?: Object | URL | null; relationships?: (Object | URL)[];} @@ -133018,6 +134713,17 @@ relationships?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -133492,7 +135198,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -133543,7 +135249,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -133629,6 +135335,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -133932,6 +135649,7 @@ export class Service extends Object { #_trust_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service: Set = new Set(); #_QuxorEK1txp7jGjq8BRQfTPvUwp__misskey_followedMessage: (string)[] = []; #_2xEU4QtkC53RAun67T81Egqt9vmL_isCat: (boolean)[] = []; +#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; /** * Constructs a new instance of Service with the given values. @@ -133958,13 +135676,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} , options: { documentLoader?: DocumentLoader, @@ -134445,6 +136163,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } } /** @@ -134481,13 +136212,13 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];preferredUsername?: string | LanguageString | null; preferredUsernames?: ((string | LanguageString))[];publicKey?: CryptographicKey | URL | null; publicKeys?: (CryptographicKey | URL)[];assertionMethod?: Multikey | URL | null; assertionMethods?: (Multikey | URL)[];gateway?: URL | null; gateways?: (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;featuredCollections?: 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; aliases?: (Application | Group | Organization | Person | Service | URL)[];service?: DidService | URL | null; -services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;} +services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | null;preferredLicense?: URL | null;} = {}, options: { @@ -134981,6 +136712,19 @@ services?: (DidService | URL)[];followedMessage?: string | null;cat?: boolean | ); } } + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.slice(); + if ("preferredLicense" in values && values.preferredLicense != null) { + if (values.preferredLicense instanceof URL) { + // @ts-ignore: type is checked above. + clone.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = [values.preferredLicense]; + + } else { + throw new TypeError( + "The preferredLicense must be of type " + + "URL" + ".", + ); + } + } return clone; } @@ -141869,6 +143613,25 @@ get gateways(): (URL)[] { return this.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } +/** The URI of the license this actor prefers for the new objects it creates, + * as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + * as the default \`license\` of a new object and let the user choose another. + * + * This is not a fallback license: an object without its own \`license\` is not + * licensed under its author's preferred license. + * + */ + get preferredLicense(): (URL | null) { + if (this._warning != null) { + getLogger(this._warning.category).warn( + this._warning.message, + this._warning.values + ); + } + if (this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length < 1) return null; + return this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + /** * Converts this object to a JSON-LD structure. * @param options The options to use. @@ -142397,6 +144160,22 @@ get gateways(): (URL)[] { } + compactItems = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + const item = ( + formatIri(v) + ); + compactItems.push(item); + } + if (compactItems.length > 0) { + + result["preferredLicense"] + = compactItems.length > 1 + ? compactItems + : compactItems[0]; + + } + result["type"] = "Service"; if (this.id != null) result["id"] = formatIri(this.id); result["@context"] = ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; @@ -142901,6 +144680,26 @@ get gateways(): (URL)[] { } + array = []; + for (const v of this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense) { + let element = ( + { "@id": formatIri(v) } + ); + if (Array.isArray(element)) { + if (element.length < 1) continue; + if (element.length == 1) element = element[0]; + } + if (typeof element === "undefined") continue; + array.push(element);; + } + if (array.length > 0) { + const propValue = ( + array + ); + values["https://w3id.org/fep/6757#preferredLicense"] = propValue; + + } + values["@type"] = ["https://www.w3.org/ns/activitystreams#Service"]; if (this.id != null) values["@id"] = formatIri(this.id); if (options.format === "expand") { @@ -142914,6 +144713,17 @@ get gateways(): (URL)[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/fep/ef61","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","https://w3id.org/fep/7aa9",{"alsoKnownAs":{"@id":"as:alsoKnownAs","@type":"@id"},"featuredCollections":{"@id":"https://w3id.org/fep/7aa9#featuredCollections","@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"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -142965,6 +144775,11 @@ get gateways(): (URL)[] { this.#_4Q6NrKH6bazBGtxwG8vyG77ir7Tg_service.length > 0 ) return false; + if ( + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense != null && + this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length > 0 + ) return false; + return super.isCompactable(); } @@ -144023,6 +145838,35 @@ get gateways(): (URL)[] { } instance.#_2xEU4QtkC53RAun67T81Egqt9vmL_isCat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat; + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense: (URL)[] = []; + + let _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array = values["https://w3id.org/fep/6757#preferredLicense"]; + + for ( + const v of _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array == null + ? [] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array.length === 1 && "@list" in _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0] + ? _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array[0]["@list"] + : _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense__array + ) { + if (v == null) continue; + + const decoded = + isAbsoluteIriValue(v) ? decodeIri(getAbsoluteIriValue(v)!) : undefined + ; + + if (typeof decoded === "undefined") { + shouldCacheJsonLd = false; + continue; + } + + if (!this._shouldCacheDecodedJsonLd(decoded)) { + shouldCacheJsonLd = false; + } + _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.push(decoded); + + } + instance.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense; instance._shouldCacheJsonLd = shouldCacheJsonLd; if ( @@ -144573,6 +146417,26 @@ get gateways(): (URL)[] { proxy.cat = _2xEU4QtkC53RAun67T81Egqt9vmL_isCat[0]; } + const _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense = this.#_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense + // 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(inspectIri(v), options), + [Symbol.for("nodejs.util.inspect.custom")]: ( + _depth: number, + options: unknown, + inspect: (value: unknown, options: unknown) => string, + ): string => "URL " + inspect(inspectIri(v), options), + } + : v); + + if (_248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense.length == 1) { + proxy.preferredLicense = _248SCMQLVt8i7L4vUstp5SmQQFH6_preferredLicense[0]; + } + return proxy; } } @@ -145034,6 +146898,17 @@ get contents(): ((string | LanguageString))[] { } let docContext: Parameters[1] = options.context ?? "https://www.w3.org/ns/activitystreams"; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -145426,7 +147301,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145477,7 +147352,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145563,6 +147438,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -145842,7 +147728,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145893,7 +147779,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -145979,6 +147865,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -146261,7 +148158,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];formerType?: $EntityType | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];formerType?: $EntityType | null; formerTypes?: ($EntityType)[];deleted?: Temporal.Instant | null;} , options: { @@ -146356,7 +148253,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];formerType?: $EntityType | null; +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];formerType?: $EntityType | null; formerTypes?: ($EntityType)[];deleted?: Temporal.Instant | null;} = {}, @@ -146618,6 +148515,17 @@ get formerTypes(): ($EntityType)[] { } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147025,7 +148933,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147076,7 +148984,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147162,6 +149070,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147446,7 +149365,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147497,7 +149416,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147583,6 +149502,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://gotosocial.org/ns",{"litepub":"http://litepub.social/ns#","toot":"http://joinmastodon.org/ns#","EmojiReact":"litepub:EmojiReact","Emoji":"toot:Emoji"}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -147865,7 +149795,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -147916,7 +149846,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148002,6 +149932,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = 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://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","quote":{"@id":"https://w3id.org/fep/044f#quote","@type":"@id"},"fedibird":"http://fedibird.com/ns#","quoteUri":"fedibird:quoteUri","QuoteAuthorization":"https://w3id.org/fep/044f#QuoteAuthorization","QuoteRequest":"https://w3id.org/fep/044f#QuoteRequest","quoteAuthorization":{"@id":"https://w3id.org/fep/044f#quoteAuthorization","@type":"@id"},"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"}}]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -148279,7 +150220,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} , options: { documentLoader?: DocumentLoader, @@ -148324,7 +150265,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} +proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];licenses?: (URL)[];width?: number | null;height?: number | null;digestMultibase?: string | null;} = {}, options: { @@ -148423,6 +150364,17 @@ proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | nu } let docContext: Parameters[1] = options.context ?? ["https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v2",{"digestMultibase":"https://www.w3.org/ns/credentials/v2#digestMultibase"},"https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, @@ -148701,7 +150653,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148752,7 +150704,7 @@ tos?: (Object | URL)[];bto?: Object | URL | null; btos?: (Object | URL)[];cc?: Object | URL | null; ccs?: (Object | URL)[];bcc?: Object | URL | null; bccs?: (Object | URL)[];mediaType?: string | null;duration?: Temporal.Duration | null;sensitive?: boolean | null;source?: Source | null;proof?: DataIntegrityProof | URL | null; -proofs?: (DataIntegrityProof | URL)[];interactionPolicy?: InteractionPolicy | null;approvedBy?: URL | null;likeAuthorization?: LikeAuthorization | URL | null;replyAuthorization?: ReplyAuthorization | URL | null;announceAuthorization?: AnnounceAuthorization | URL | null;translations?: (Translation)[];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;translations?: (Translation)[];licenses?: (URL)[];actor?: Application | Group | Organization | Person | Service | URL | null; actors?: (Application | Group | Organization | Person | Service | URL)[];object?: Object | URL | null; objects?: (Object | URL)[];target?: Object | URL | null; targets?: (Object | URL)[];result?: Object | URL | null; @@ -148838,6 +150790,17 @@ instruments?: (Object | URL)[];} } let docContext: Parameters[1] = options.context ?? ["https://w3id.org/identity/v1","https://www.w3.org/ns/activitystreams","https://w3id.org/security/data-integrity/v1","https://gotosocial.org/ns"]; + + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + let compacted = await jsonld.compact( values, docContext, diff --git a/packages/vocab-tools/src/class.ts b/packages/vocab-tools/src/class.ts index c9e227e8c..e9547f5ff 100644 --- a/packages/vocab-tools/src/class.ts +++ b/packages/vocab-tools/src/class.ts @@ -12,6 +12,7 @@ import { emitOverride } from "./type.ts"; const XSD_ANY_URI = "http://www.w3.org/2001/XMLSchema#anyURI"; const FEDIFY_URL = "fedify:url"; +const FEDIFY_ABSOLUTE_IRI = "fedify:absoluteIri"; const INTERNAL_RUNTIME_IMPORTS = [ "compactJsonLdCache", "createScopedContextLoader", @@ -255,7 +256,8 @@ function canContainIriValue( types: Record, ): boolean { return property.range.some((typeUri) => - typeUri === XSD_ANY_URI || typeUri === FEDIFY_URL || types[typeUri]?.entity + typeUri === XSD_ANY_URI || typeUri === FEDIFY_URL || + typeUri === FEDIFY_ABSOLUTE_IRI || types[typeUri]?.entity ); } @@ -334,7 +336,45 @@ function isValidLanguageTag(language: string): boolean { } } `; - // Contexts are activated by expanded property IRIs left after compaction. + if ( + Object.values(types).some((type) => + type.properties.some((property) => + property.range.includes(FEDIFY_ABSOLUTE_IRI) + ) + ) + ) { + // An absolute IRI may arrive as an IRI node or, when the publisher's + // context does not coerce the term, as a string or IRI-typed literal. + // It is never resolved against a base IRI. + yield ` +function getAbsoluteIriValue(value: unknown): string | undefined { + if (value == null || typeof value !== "object") return undefined; + const node = value as Record; + if (typeof node["@id"] === "string") { + return node["@id"].startsWith("_:") ? undefined : node["@id"]; + } + // A language tag can come from a context's default language, so it does + // not make a literal any less of an IRI: + if (typeof node["@value"] !== "string") return undefined; + const type = node["@type"]; + return type == null || + type === "http://www.w3.org/2001/XMLSchema#string" || + type === "http://www.w3.org/2001/XMLSchema#anyURI" + ? node["@value"] + : undefined; +} + +function isAbsoluteIriValue(value: unknown): boolean { + const iri = getAbsoluteIriValue(value); + return iri != null && canDecodeIri(iri); +} +`; + } + // Contexts are activated by the expanded property IRIs of the values to be + // compacted, and by the contexts that already serialized children carry. + // They are detected before compaction, because a default context may + // define a prefix that would otherwise hide a property IRI behind a compact + // IRI such as `dc:license`. const extraContexts = Object.fromEntries( Object.values(types).flatMap((type) => type.properties.flatMap((property) => @@ -349,6 +389,9 @@ function isValidLanguageTag(language: string): boolean { const extraPropertyContexts: Readonly> = ${JSON.stringify(extraContexts)}; +const extraContextUrls: readonly string[] = + ${JSON.stringify([...new Set(Object.values(extraContexts))])}; + function getExtraContexts(document: unknown): string[] { const contexts = new Set(); const pending: unknown[] = [document]; @@ -361,7 +404,16 @@ function getExtraContexts(document: unknown): string[] { } if ("@value" in value) continue; for (const [key, child] of globalThis.Object.entries(value)) { - if (key === "@context") continue; + if (key === "@context") { + for (const context of Array.isArray(child) ? child : [child]) { + if ( + typeof context === "string" && extraContextUrls.includes(context) + ) { + contexts.add(context); + } + } + continue; + } if (globalThis.Object.hasOwn(extraPropertyContexts, key)) { contexts.add(extraPropertyContexts[key]); } diff --git a/packages/vocab-tools/src/codec.test.ts b/packages/vocab-tools/src/codec.test.ts index a8b63c8fc..737ebdb77 100644 --- a/packages/vocab-tools/src/codec.test.ts +++ b/packages/vocab-tools/src/codec.test.ts @@ -59,7 +59,12 @@ async function withFixture( const terms: Record = { ...context }; for (const name of ["value", "first", "second"]) { const term: Record = { "@id": `${NS}${name}` }; - if (property.range[0] === `${XSD}anyURI`) term["@type"] = "@id"; + if ( + property.range[0] === `${XSD}anyURI` || + property.range[0] === "fedify:absoluteIri" + ) { + term["@type"] = "@id"; + } if ("container" in property && property.container != null) { term["@container"] = `@${property.container}`; } @@ -407,3 +412,68 @@ for (const functional of [false, true]) { } }); } + +test("absolute IRIs are read from nodes and plain literals without a base", async () => { + await withFixture({ + range: ["fedify:absoluteIri"], + redundantPropertiesWrite: "canonical", + redundantProperties: [{ uri: `${NS}first` }], + }, async (Fixture, contextLoader, source) => { + match(source, /PORTABLE_IRI_KEYS[^\n]+https:\/\/example.com\/value/); + match(source, /PORTABLE_IRI_KEYS[^\n]+https:\/\/example.com\/first/); + const values = [ + { "@id": "https://example.com/node" }, + literal("urn:example:literal"), + { "@value": "https://example.com/any-uri", "@type": `${XSD}anyURI` }, + { "@value": "https://example.com/string", "@type": `${XSD}string` }, + // A context's default language tags uncoerced strings: + { "@value": "https://example.com/tagged", "@language": "und" }, + // Relative IRIs are never resolved against the object's ID: + { "@id": "CC-BY-4.0" }, + { "@id": "_:b0" }, + literal("Creative Commons Attribution 4.0 International"), + { "@value": "https://example.com/date", "@type": `${XSD}date` }, + ]; + const expected = [ + new URL("https://example.com/node"), + new URL("urn:example:literal"), + new URL("https://example.com/any-uri"), + new URL("https://example.com/string"), + new URL("https://example.com/tagged"), + ]; + for (const key of ["value", "first"]) { + const parsed = await Fixture.fromJsonLd( + { + "@id": "https://example.com/objects/1", + ...document({ [`${NS}${key}`]: values }), + }, + { contextLoader, baseUrl: new URL("https://example.com/base/") }, + ); + deepStrictEqual(parsed.values, expected); + } + // An invalid canonical set is not replaced by a synonym: + const invalid = await Fixture.fromJsonLd( + document({ + [`${NS}value`]: [{ "@id": "CC-BY-4.0" }], + [`${NS}first`]: [{ "@id": "https://example.com/fallback" }], + }), + { contextLoader }, + ); + deepStrictEqual(invalid.values, []); + const instance = new Fixture({ values: expected }); + const expanded = await instance.toJsonLd({ + format: "expand", + contextLoader, + }) as unknown as Record[]; + deepStrictEqual( + expanded[0][`${NS}value`], + expected.map((url) => ({ "@id": url.href })), + ); + ok(!(`${NS}first` in expanded[0])); + const compact = await instance.toJsonLd({ + format: "compact", + contextLoader, + }); + deepStrictEqual(compact.value, expected.map((url) => url.href)); + }); +}); diff --git a/packages/vocab-tools/src/codec.ts b/packages/vocab-tools/src/codec.ts index 25db645b9..eb6db033e 100644 --- a/packages/vocab-tools/src/codec.ts +++ b/packages/vocab-tools/src/codec.ts @@ -288,17 +288,33 @@ export async function* generateEncoder( } let docContext: Parameters[1] = options.context ?? ${JSON.stringify(type.defaultContext)}; + `; + const hasExtraContexts = Object.values(types).some((t) => + t.properties.some((p) => p.extraContext != null) + ); + if (hasExtraContexts) { + yield ` + if (options.context == null) { + const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; + const additionalContexts = getExtraContexts(values).filter( + context => !currentContexts.includes(context) + ); + if (additionalContexts.length > 0) { + docContext = [...currentContexts, ...additionalContexts]; + } + } + `; + } + yield ` let compacted = await jsonld.compact( values, docContext, { documentLoader: options.contextLoader }, ); `; - if ( - Object.values(types).some((t) => - t.properties.some((p) => p.extraContext != null) - ) - ) { + if (hasExtraContexts) { + // A cached child may map a property with its own inline context, which + // the scan above cannot recognize; compaction then leaves its full IRI: yield ` if (options.context == null) { const currentContexts = Array.isArray(docContext) ? docContext : [docContext]; diff --git a/packages/vocab-tools/src/type.ts b/packages/vocab-tools/src/type.ts index 3a4e1a1f1..efe7d2435 100644 --- a/packages/vocab-tools/src/type.ts +++ b/packages/vocab-tools/src/type.ts @@ -334,6 +334,25 @@ const scalarTypes: Record = { }, skipUnparsable: true, }, + "fedify:absoluteIri": { + name: "URL", + typeGuard(v) { + return `${v} instanceof URL`; + }, + encoder(v) { + return `{ "@id": formatIri(${v}) }`; + }, + compactEncoder(v) { + return `formatIri(${v})`; + }, + dataCheck(v) { + return `isAbsoluteIriValue(${v})`; + }, + decoder(v) { + return `decodeIri(getAbsoluteIriValue(${v})!)`; + }, + skipUnparsable: true, + }, "fedify:gatewayUrl": { name: "URL", typeGuard(v) { diff --git a/packages/vocab/src/__snapshots__/vocab.test.ts.snap b/packages/vocab/src/__snapshots__/vocab.test.ts.snap index e4c16f030..3536e80ce 100644 --- a/packages/vocab/src/__snapshots__/vocab.test.ts.snap +++ b/packages/vocab/src/__snapshots__/vocab.test.ts.snap @@ -40,7 +40,8 @@ snapshot[`Deno.inspect(Emoji) [auto] 1`] = ` likeAuthorization: LikeAuthorization {}, replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, - translations: [ Translation {} ] + translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -84,7 +85,8 @@ snapshot[`Deno.inspect(Emoji) [auto] 2`] = ` likeAuthorization: URL "https://example.com/", replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", - translations: [ Translation {} ] + translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -128,7 +130,11 @@ snapshot[`Deno.inspect(Emoji) [auto] 3`] = ` likeAuthorization: LikeAuthorization {}, replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, - translations: [ Translation {}, Translation {} ] + translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ] }' `; @@ -173,6 +179,7 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], quote: Object {}, quoteUrl: URL "https://fedify.dev/", quoteAuthorization: QuoteAuthorization {} @@ -220,6 +227,7 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], quote: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/", quoteAuthorization: URL "https://example.com/" @@ -267,6 +275,10 @@ snapshot[`Deno.inspect(ChatMessage) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], quote: Object {}, quoteUrl: URL "https://fedify.dev/", quoteAuthorization: QuoteAuthorization {} @@ -314,6 +326,7 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -364,6 +377,7 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -414,6 +428,10 @@ snapshot[`Deno.inspect(EmojiReact) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -494,6 +512,7 @@ snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -540,6 +559,7 @@ snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: URL "https://example.com/", interactionTarget: URL "https://example.com/" }' @@ -586,6 +606,10 @@ snapshot[`Deno.inspect(AnnounceAuthorization) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -632,6 +656,7 @@ snapshot[`Deno.inspect(AnnounceRequest) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -682,6 +707,7 @@ snapshot[`Deno.inspect(AnnounceRequest) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -732,6 +758,10 @@ snapshot[`Deno.inspect(AnnounceRequest) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -839,6 +869,7 @@ snapshot[`Deno.inspect(LikeAuthorization) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -885,6 +916,7 @@ snapshot[`Deno.inspect(LikeAuthorization) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: URL "https://example.com/", interactionTarget: URL "https://example.com/" }' @@ -931,6 +963,10 @@ snapshot[`Deno.inspect(LikeAuthorization) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -977,6 +1013,7 @@ snapshot[`Deno.inspect(LikeRequest) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1027,6 +1064,7 @@ snapshot[`Deno.inspect(LikeRequest) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -1077,6 +1115,10 @@ snapshot[`Deno.inspect(LikeRequest) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1127,6 +1169,7 @@ snapshot[`Deno.inspect(ReplyAuthorization) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -1173,6 +1216,7 @@ snapshot[`Deno.inspect(ReplyAuthorization) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: URL "https://example.com/", interactionTarget: URL "https://example.com/" }' @@ -1219,6 +1263,10 @@ snapshot[`Deno.inspect(ReplyAuthorization) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -1265,6 +1313,7 @@ snapshot[`Deno.inspect(ReplyRequest) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1315,6 +1364,7 @@ snapshot[`Deno.inspect(ReplyRequest) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -1365,6 +1415,10 @@ snapshot[`Deno.inspect(ReplyRequest) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1415,6 +1469,7 @@ snapshot[`Deno.inspect(QuoteAuthorization) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -1461,6 +1516,7 @@ snapshot[`Deno.inspect(QuoteAuthorization) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: URL "https://example.com/", interactionTarget: URL "https://example.com/" }' @@ -1507,6 +1563,10 @@ snapshot[`Deno.inspect(QuoteAuthorization) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -1553,6 +1613,7 @@ snapshot[`Deno.inspect(QuoteRequest) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1603,6 +1664,7 @@ snapshot[`Deno.inspect(QuoteRequest) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -1653,6 +1715,10 @@ snapshot[`Deno.inspect(QuoteRequest) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -1772,6 +1838,7 @@ snapshot[`Deno.inspect(FeatureAuthorization) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -1818,6 +1885,7 @@ snapshot[`Deno.inspect(FeatureAuthorization) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], interactingObject: URL "https://example.com/", interactionTarget: URL "https://example.com/" }' @@ -1864,6 +1932,10 @@ snapshot[`Deno.inspect(FeatureAuthorization) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], interactingObject: Object {}, interactionTarget: Object {} }' @@ -1910,6 +1982,7 @@ snapshot[`Deno.inspect(FeatureRequest) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -1960,6 +2033,7 @@ snapshot[`Deno.inspect(FeatureRequest) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -2010,6 +2084,10 @@ snapshot[`Deno.inspect(FeatureRequest) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -2060,6 +2138,7 @@ snapshot[`Deno.inspect(FeaturedCollection) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -2119,6 +2198,7 @@ snapshot[`Deno.inspect(FeaturedCollection) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -2178,6 +2258,10 @@ snapshot[`Deno.inspect(FeaturedCollection) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -2237,6 +2321,7 @@ snapshot[`Deno.inspect(FeaturedItem) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], featuredObject: Object {}, featureAuthorization: FeatureAuthorization {} }' @@ -2283,6 +2368,7 @@ snapshot[`Deno.inspect(FeaturedItem) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], featuredObject: URL "https://example.com/", featureAuthorization: URL "https://example.com/" }' @@ -2329,6 +2415,10 @@ snapshot[`Deno.inspect(FeaturedItem) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], featuredObject: Object {}, featureAuthorization: FeatureAuthorization {} }' @@ -2543,6 +2633,7 @@ snapshot[`Deno.inspect(Agreement) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], stipulates: Commitment {}, stipulatesReciprocal: Commitment {} }' @@ -2589,6 +2680,7 @@ snapshot[`Deno.inspect(Agreement) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], stipulates: Commitment {}, stipulatesReciprocal: Commitment {} }' @@ -2635,6 +2727,10 @@ snapshot[`Deno.inspect(Agreement) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], stipulates: Commitment {}, stipulatesReciprocal: Commitment {} }' @@ -2738,6 +2834,7 @@ snapshot[`Deno.inspect(Proposal) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], purpose: "hello", publishes: Intent {}, reciprocal: Intent {}, @@ -2786,6 +2883,7 @@ snapshot[`Deno.inspect(Proposal) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], purpose: "hello", publishes: Intent {}, reciprocal: Intent {}, @@ -2834,6 +2932,10 @@ snapshot[`Deno.inspect(Proposal) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], purpose: "hello", publishes: Intent {}, reciprocal: Intent {}, @@ -2882,6 +2984,7 @@ snapshot[`Deno.inspect(Accept) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -2932,6 +3035,7 @@ snapshot[`Deno.inspect(Accept) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -2982,6 +3086,10 @@ snapshot[`Deno.inspect(Accept) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3032,6 +3140,7 @@ snapshot[`Deno.inspect(Activity) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3082,6 +3191,7 @@ snapshot[`Deno.inspect(Activity) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3132,6 +3242,10 @@ snapshot[`Deno.inspect(Activity) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3182,6 +3296,7 @@ snapshot[`Deno.inspect(Add) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3232,6 +3347,7 @@ snapshot[`Deno.inspect(Add) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3282,6 +3398,10 @@ snapshot[`Deno.inspect(Add) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3332,6 +3452,7 @@ snapshot[`Deno.inspect(Announce) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3382,6 +3503,7 @@ snapshot[`Deno.inspect(Announce) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3432,6 +3554,10 @@ snapshot[`Deno.inspect(Announce) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3482,6 +3608,7 @@ snapshot[`Deno.inspect(Application) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -3505,7 +3632,8 @@ snapshot[`Deno.inspect(Application) [auto] 1`] = ` aliases: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], service: DidService {}, followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -3550,6 +3678,7 @@ snapshot[`Deno.inspect(Application) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -3573,7 +3702,8 @@ snapshot[`Deno.inspect(Application) [auto] 2`] = ` alias: URL "https://example.com/", service: URL "https://example.com/", followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -3618,6 +3748,10 @@ snapshot[`Deno.inspect(Application) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -3641,7 +3775,8 @@ snapshot[`Deno.inspect(Application) [auto] 3`] = ` aliases: [ Application {}, Application {} ], services: [ DidService {}, DidService {} ], followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -3686,6 +3821,7 @@ snapshot[`Deno.inspect(Arrive) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -3736,6 +3872,7 @@ snapshot[`Deno.inspect(Arrive) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -3786,6 +3923,10 @@ snapshot[`Deno.inspect(Arrive) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -3836,6 +3977,7 @@ snapshot[`Deno.inspect(Article) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], quote: Object {}, quoteUrl: URL "https://fedify.dev/", quoteAuthorization: QuoteAuthorization {} @@ -3883,6 +4025,7 @@ snapshot[`Deno.inspect(Article) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], quote: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/", quoteAuthorization: URL "https://example.com/" @@ -3930,6 +4073,10 @@ snapshot[`Deno.inspect(Article) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], quote: Object {}, quoteUrl: URL "https://fedify.dev/", quoteAuthorization: QuoteAuthorization {} @@ -3977,6 +4124,7 @@ snapshot[`Deno.inspect(Audio) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -4024,6 +4172,7 @@ snapshot[`Deno.inspect(Audio) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -4071,6 +4220,10 @@ snapshot[`Deno.inspect(Audio) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], width: 123, height: 123, digestMultibase: "hello" @@ -4118,6 +4271,7 @@ snapshot[`Deno.inspect(Block) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4168,6 +4322,7 @@ snapshot[`Deno.inspect(Block) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4218,6 +4373,10 @@ snapshot[`Deno.inspect(Block) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4268,6 +4427,7 @@ snapshot[`Deno.inspect(Collection) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -4325,6 +4485,7 @@ snapshot[`Deno.inspect(Collection) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -4382,6 +4543,10 @@ snapshot[`Deno.inspect(Collection) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -4439,6 +4604,7 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -4499,6 +4665,7 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -4559,6 +4726,10 @@ snapshot[`Deno.inspect(CollectionPage) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -4619,6 +4790,7 @@ snapshot[`Deno.inspect(Create) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4669,6 +4841,7 @@ snapshot[`Deno.inspect(Create) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4719,6 +4892,10 @@ snapshot[`Deno.inspect(Create) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4769,6 +4946,7 @@ snapshot[`Deno.inspect(Delete) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4819,6 +4997,7 @@ snapshot[`Deno.inspect(Delete) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -4869,6 +5048,10 @@ snapshot[`Deno.inspect(Delete) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -4919,6 +5102,7 @@ snapshot[`Deno.inspect(Dislike) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -4969,6 +5153,7 @@ snapshot[`Deno.inspect(Dislike) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -5019,6 +5204,10 @@ snapshot[`Deno.inspect(Dislike) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5069,6 +5258,7 @@ snapshot[`Deno.inspect(Document) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -5116,6 +5306,7 @@ snapshot[`Deno.inspect(Document) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -5163,6 +5354,10 @@ snapshot[`Deno.inspect(Document) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], width: 123, height: 123, digestMultibase: "hello" @@ -5248,7 +5443,8 @@ snapshot[`Deno.inspect(Event) [auto] 1`] = ` likeAuthorization: LikeAuthorization {}, replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, - translations: [ Translation {} ] + translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -5292,7 +5488,8 @@ snapshot[`Deno.inspect(Event) [auto] 2`] = ` likeAuthorization: URL "https://example.com/", replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", - translations: [ Translation {} ] + translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -5336,7 +5533,11 @@ snapshot[`Deno.inspect(Event) [auto] 3`] = ` likeAuthorization: LikeAuthorization {}, replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, - translations: [ Translation {}, Translation {} ] + translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ] }' `; @@ -5381,6 +5582,7 @@ snapshot[`Deno.inspect(Flag) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5431,6 +5633,7 @@ snapshot[`Deno.inspect(Flag) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -5481,6 +5684,10 @@ snapshot[`Deno.inspect(Flag) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5531,6 +5738,7 @@ snapshot[`Deno.inspect(Follow) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -5581,6 +5789,7 @@ snapshot[`Deno.inspect(Follow) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -5631,6 +5840,10 @@ snapshot[`Deno.inspect(Follow) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -5681,6 +5894,7 @@ snapshot[`Deno.inspect(Group) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -5704,7 +5918,8 @@ snapshot[`Deno.inspect(Group) [auto] 1`] = ` aliases: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], service: DidService {}, followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -5749,6 +5964,7 @@ snapshot[`Deno.inspect(Group) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -5772,7 +5988,8 @@ snapshot[`Deno.inspect(Group) [auto] 2`] = ` alias: URL "https://example.com/", service: URL "https://example.com/", followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -5817,6 +6034,10 @@ snapshot[`Deno.inspect(Group) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -5840,7 +6061,8 @@ snapshot[`Deno.inspect(Group) [auto] 3`] = ` aliases: [ Application {}, Application {} ], services: [ DidService {}, DidService {} ], followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -5866,7 +6088,8 @@ snapshot[`Deno.inspect(Hashtag) [auto] 1`] = ` }, height: 123, width: 123, - previews: [ Link {}, Object {} ] + previews: [ Link {}, Object {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -5892,7 +6115,8 @@ snapshot[`Deno.inspect(Hashtag) [auto] 2`] = ` }, height: 123, width: 123, - previews: [ URL "https://example.com/" ] + previews: [ URL "https://example.com/" ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -5918,7 +6142,11 @@ snapshot[`Deno.inspect(Hashtag) [auto] 3`] = ` }, height: 123, width: 123, - previews: [ Link {}, Link {} ] + previews: [ Link {}, Link {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ] }' `; @@ -5963,6 +6191,7 @@ snapshot[`Deno.inspect(Ignore) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6013,6 +6242,7 @@ snapshot[`Deno.inspect(Ignore) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6063,6 +6293,10 @@ snapshot[`Deno.inspect(Ignore) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6113,6 +6347,7 @@ snapshot[`Deno.inspect(Image) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -6160,6 +6395,7 @@ snapshot[`Deno.inspect(Image) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -6207,6 +6443,10 @@ snapshot[`Deno.inspect(Image) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], width: 123, height: 123, digestMultibase: "hello" @@ -6254,6 +6494,7 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6304,6 +6545,7 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6354,6 +6596,10 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6404,6 +6650,7 @@ snapshot[`Deno.inspect(Invite) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6454,6 +6701,7 @@ snapshot[`Deno.inspect(Invite) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6504,6 +6752,10 @@ snapshot[`Deno.inspect(Invite) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6554,6 +6806,7 @@ snapshot[`Deno.inspect(Join) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6604,6 +6857,7 @@ snapshot[`Deno.inspect(Join) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6654,6 +6908,10 @@ snapshot[`Deno.inspect(Join) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6704,6 +6962,7 @@ snapshot[`Deno.inspect(Leave) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6754,6 +7013,7 @@ snapshot[`Deno.inspect(Leave) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6804,6 +7064,10 @@ snapshot[`Deno.inspect(Leave) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6854,6 +7118,7 @@ snapshot[`Deno.inspect(Like) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -6904,6 +7169,7 @@ snapshot[`Deno.inspect(Like) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -6954,6 +7220,10 @@ snapshot[`Deno.inspect(Like) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -6985,7 +7255,8 @@ snapshot[`Deno.inspect(Link) [auto] 1`] = ` }, height: 123, width: 123, - previews: [ Link {}, Object {} ] + previews: [ Link {}, Object {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -7011,7 +7282,8 @@ snapshot[`Deno.inspect(Link) [auto] 2`] = ` }, height: 123, width: 123, - previews: [ URL "https://example.com/" ] + previews: [ URL "https://example.com/" ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -7037,7 +7309,11 @@ snapshot[`Deno.inspect(Link) [auto] 3`] = ` }, height: 123, width: 123, - previews: [ Link {}, Link {} ] + previews: [ Link {}, Link {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ] }' `; @@ -7082,6 +7358,7 @@ snapshot[`Deno.inspect(Listen) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7132,6 +7409,7 @@ snapshot[`Deno.inspect(Listen) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7182,6 +7460,10 @@ snapshot[`Deno.inspect(Listen) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7213,7 +7495,8 @@ snapshot[`Deno.inspect(Mention) [auto] 1`] = ` }, height: 123, width: 123, - previews: [ Link {}, Object {} ] + previews: [ Link {}, Object {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -7239,7 +7522,8 @@ snapshot[`Deno.inspect(Mention) [auto] 2`] = ` }, height: 123, width: 123, - previews: [ URL "https://example.com/" ] + previews: [ URL "https://example.com/" ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -7265,7 +7549,11 @@ snapshot[`Deno.inspect(Mention) [auto] 3`] = ` }, height: 123, width: 123, - previews: [ Link {}, Link {} ] + previews: [ Link {}, Link {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ] }' `; @@ -7310,6 +7598,7 @@ snapshot[`Deno.inspect(Move) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7360,6 +7649,7 @@ snapshot[`Deno.inspect(Move) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7410,6 +7700,10 @@ snapshot[`Deno.inspect(Move) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7460,6 +7754,7 @@ snapshot[`Deno.inspect(Note) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], quote: Object {}, quoteUrl: URL "https://fedify.dev/", quoteAuthorization: QuoteAuthorization {} @@ -7507,6 +7802,7 @@ snapshot[`Deno.inspect(Note) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], quote: URL "https://example.com/", quoteUrl: URL "https://fedify.dev/", quoteAuthorization: URL "https://example.com/" @@ -7554,6 +7850,10 @@ snapshot[`Deno.inspect(Note) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], quote: Object {}, quoteUrl: URL "https://fedify.dev/", quoteAuthorization: QuoteAuthorization {} @@ -7600,7 +7900,8 @@ snapshot[`Deno.inspect(Object) [auto] 1`] = ` likeAuthorization: LikeAuthorization {}, replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, - translations: [ Translation {} ] + translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -7644,7 +7945,8 @@ snapshot[`Deno.inspect(Object) [auto] 2`] = ` likeAuthorization: URL "https://example.com/", replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", - translations: [ Translation {} ] + translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ] }' `; @@ -7688,7 +7990,11 @@ snapshot[`Deno.inspect(Object) [auto] 3`] = ` likeAuthorization: LikeAuthorization {}, replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, - translations: [ Translation {}, Translation {} ] + translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ] }' `; @@ -7733,6 +8039,7 @@ snapshot[`Deno.inspect(Offer) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -7783,6 +8090,7 @@ snapshot[`Deno.inspect(Offer) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -7833,6 +8141,10 @@ snapshot[`Deno.inspect(Offer) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -7883,6 +8195,7 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -7940,6 +8253,7 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -7997,6 +8311,10 @@ snapshot[`Deno.inspect(OrderedCollection) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -8054,6 +8372,7 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -8115,6 +8434,7 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], totalItems: 123, current: URL "https://example.com/", first: URL "https://example.com/", @@ -8176,6 +8496,10 @@ snapshot[`Deno.inspect(OrderedCollectionPage) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], totalItems: 123, current: CollectionPage {}, first: CollectionPage {}, @@ -8237,6 +8561,7 @@ snapshot[`Deno.inspect(Organization) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -8260,7 +8585,8 @@ snapshot[`Deno.inspect(Organization) [auto] 1`] = ` aliases: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], service: DidService {}, followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -8305,6 +8631,7 @@ snapshot[`Deno.inspect(Organization) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -8328,7 +8655,8 @@ snapshot[`Deno.inspect(Organization) [auto] 2`] = ` alias: URL "https://example.com/", service: URL "https://example.com/", followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -8373,6 +8701,10 @@ snapshot[`Deno.inspect(Organization) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -8396,7 +8728,8 @@ snapshot[`Deno.inspect(Organization) [auto] 3`] = ` aliases: [ Application {}, Application {} ], services: [ DidService {}, DidService {} ], followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -8441,6 +8774,7 @@ snapshot[`Deno.inspect(Page) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -8488,6 +8822,7 @@ snapshot[`Deno.inspect(Page) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -8535,6 +8870,10 @@ snapshot[`Deno.inspect(Page) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], width: 123, height: 123, digestMultibase: "hello" @@ -8582,6 +8921,7 @@ snapshot[`Deno.inspect(Person) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -8605,7 +8945,8 @@ snapshot[`Deno.inspect(Person) [auto] 1`] = ` aliases: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], service: DidService {}, followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -8650,6 +8991,7 @@ snapshot[`Deno.inspect(Person) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -8673,7 +9015,8 @@ snapshot[`Deno.inspect(Person) [auto] 2`] = ` alias: URL "https://example.com/", service: URL "https://example.com/", followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -8718,6 +9061,10 @@ snapshot[`Deno.inspect(Person) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -8741,7 +9088,8 @@ snapshot[`Deno.inspect(Person) [auto] 3`] = ` aliases: [ Application {}, Application {} ], services: [ DidService {}, DidService {} ], followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -8786,6 +9134,7 @@ snapshot[`Deno.inspect(Place) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -8836,6 +9185,7 @@ snapshot[`Deno.inspect(Place) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -8886,6 +9236,10 @@ snapshot[`Deno.inspect(Place) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], accuracy: 12.34, altitude: 12.34, latitude: 12.34, @@ -8936,6 +9290,7 @@ snapshot[`Deno.inspect(Profile) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], describes: Object {} }' `; @@ -8981,6 +9336,7 @@ snapshot[`Deno.inspect(Profile) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], describes: URL "https://example.com/" }' `; @@ -9026,6 +9382,10 @@ snapshot[`Deno.inspect(Profile) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], describes: Object {} }' `; @@ -9071,6 +9431,7 @@ snapshot[`Deno.inspect(Question) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9128,6 +9489,7 @@ snapshot[`Deno.inspect(Question) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -9185,6 +9547,10 @@ snapshot[`Deno.inspect(Question) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -9242,6 +9608,7 @@ snapshot[`Deno.inspect(Read) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9292,6 +9659,7 @@ snapshot[`Deno.inspect(Read) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -9342,6 +9710,10 @@ snapshot[`Deno.inspect(Read) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -9392,6 +9764,7 @@ snapshot[`Deno.inspect(Reject) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9442,6 +9815,7 @@ snapshot[`Deno.inspect(Reject) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -9492,6 +9866,10 @@ snapshot[`Deno.inspect(Reject) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -9542,6 +9920,7 @@ snapshot[`Deno.inspect(Relationship) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], subject: Object {}, object: Object {}, relationship: Object {} @@ -9589,6 +9968,7 @@ snapshot[`Deno.inspect(Relationship) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], subject: URL "https://example.com/", object: URL "https://example.com/", relationship: URL "https://example.com/" @@ -9636,6 +10016,10 @@ snapshot[`Deno.inspect(Relationship) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], subject: Object {}, objects: [ Object {}, Object {} ], relationships: [ Object {}, Object {} ] @@ -9683,6 +10067,7 @@ snapshot[`Deno.inspect(Remove) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -9733,6 +10118,7 @@ snapshot[`Deno.inspect(Remove) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -9783,6 +10169,10 @@ snapshot[`Deno.inspect(Remove) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -9833,6 +10223,7 @@ snapshot[`Deno.inspect(Service) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: CryptographicKey {}, assertionMethod: Multikey {}, @@ -9856,7 +10247,8 @@ snapshot[`Deno.inspect(Service) [auto] 1`] = ` aliases: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], service: DidService {}, followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -9901,6 +10293,7 @@ snapshot[`Deno.inspect(Service) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], preferredUsernames: [ "hello", "hello" ], publicKey: URL "https://example.com/", assertionMethod: URL "https://example.com/", @@ -9924,7 +10317,8 @@ snapshot[`Deno.inspect(Service) [auto] 2`] = ` alias: URL "https://example.com/", service: URL "https://example.com/", followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -9969,6 +10363,10 @@ snapshot[`Deno.inspect(Service) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], preferredUsernames: [ "hello", "hello" ], publicKeys: [ CryptographicKey {}, CryptographicKey {} ], assertionMethods: [ Multikey {}, Multikey {} ], @@ -9992,7 +10390,8 @@ snapshot[`Deno.inspect(Service) [auto] 3`] = ` aliases: [ Application {}, Application {} ], services: [ DidService {}, DidService {} ], followedMessage: "hello", - cat: true + cat: true, + preferredLicense: URL "https://creativecommons.org/licenses/by/4.0/" }' `; @@ -10061,6 +10460,7 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -10111,6 +10511,7 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -10161,6 +10562,10 @@ snapshot[`Deno.inspect(TentativeAccept) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -10211,6 +10616,7 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -10261,6 +10667,7 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -10311,6 +10718,10 @@ snapshot[`Deno.inspect(TentativeReject) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -10361,6 +10772,7 @@ snapshot[`Deno.inspect(Tombstone) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], formerType: [class Person extends Object], deleted: 2024-03-03T08:30:06.796196096Z }' @@ -10407,6 +10819,7 @@ snapshot[`Deno.inspect(Tombstone) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], formerType: [class Person extends Object], deleted: 2024-03-03T08:30:06.796196096Z }' @@ -10453,6 +10866,10 @@ snapshot[`Deno.inspect(Tombstone) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], formerTypes: [ [class Person extends Object], [class Person extends Object] ], deleted: 2024-03-03T08:30:06.796196096Z }' @@ -10499,6 +10916,7 @@ snapshot[`Deno.inspect(Travel) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -10549,6 +10967,7 @@ snapshot[`Deno.inspect(Travel) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -10599,6 +11018,10 @@ snapshot[`Deno.inspect(Travel) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -10649,6 +11072,7 @@ snapshot[`Deno.inspect(Undo) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -10699,6 +11123,7 @@ snapshot[`Deno.inspect(Undo) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -10749,6 +11174,10 @@ snapshot[`Deno.inspect(Undo) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -10799,6 +11228,7 @@ snapshot[`Deno.inspect(Update) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -10849,6 +11279,7 @@ snapshot[`Deno.inspect(Update) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -10899,6 +11330,10 @@ snapshot[`Deno.inspect(Update) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], @@ -10949,6 +11384,7 @@ snapshot[`Deno.inspect(Video) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -10996,6 +11432,7 @@ snapshot[`Deno.inspect(Video) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], width: 123, height: 123, digestMultibase: "hello" @@ -11043,6 +11480,10 @@ snapshot[`Deno.inspect(Video) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], width: 123, height: 123, digestMultibase: "hello" @@ -11090,6 +11531,7 @@ snapshot[`Deno.inspect(View) [auto] 1`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ], object: Object {}, target: Object {}, @@ -11140,6 +11582,7 @@ snapshot[`Deno.inspect(View) [auto] 2`] = ` replyAuthorization: URL "https://example.com/", announceAuthorization: URL "https://example.com/", translations: [ Translation {} ], + licenses: [ URL "https://creativecommons.org/licenses/by/4.0/" ], actor: URL "https://example.com/", object: URL "https://example.com/", target: URL "https://example.com/", @@ -11190,6 +11633,10 @@ snapshot[`Deno.inspect(View) [auto] 3`] = ` replyAuthorization: ReplyAuthorization {}, announceAuthorization: AnnounceAuthorization {}, translations: [ Translation {}, Translation {} ], + licenses: [ + URL "https://creativecommons.org/licenses/by/4.0/", + URL "https://creativecommons.org/licenses/by/4.0/" + ], actors: [ Application {}, Application {} ], objects: [ Object {}, Object {} ], targets: [ Object {}, Object {} ], diff --git a/packages/vocab/src/application.yaml b/packages/vocab/src/application.yaml index 76e69c9dd..d54ec5cca 100644 --- a/packages/vocab/src/application.yaml +++ b/packages/vocab/src/application.yaml @@ -351,3 +351,18 @@ properties: attached in some clients. range: - "http://www.w3.org/2001/XMLSchema#boolean" + +- singularName: preferredLicense + functional: true + compactName: preferredLicense + uri: "https://w3id.org/fep/6757#preferredLicense" + extraContext: "https://w3id.org/fep/6757" + description: | + The URI of the license this actor prefers for the new objects it creates, + as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + as the default `license` of a new object and let the user choose another. + + This is not a fallback license: an object without its own `license` is not + licensed under its author's preferred license. + range: + - "fedify:absoluteIri" diff --git a/packages/vocab/src/group.yaml b/packages/vocab/src/group.yaml index 52b4eab56..bd3a030ba 100644 --- a/packages/vocab/src/group.yaml +++ b/packages/vocab/src/group.yaml @@ -351,3 +351,18 @@ properties: attached in some clients. range: - "http://www.w3.org/2001/XMLSchema#boolean" + +- singularName: preferredLicense + functional: true + compactName: preferredLicense + uri: "https://w3id.org/fep/6757#preferredLicense" + extraContext: "https://w3id.org/fep/6757" + description: | + The URI of the license this actor prefers for the new objects it creates, + as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + as the default `license` of a new object and let the user choose another. + + This is not a fallback license: an object without its own `license` is not + licensed under its author's preferred license. + range: + - "fedify:absoluteIri" diff --git a/packages/vocab/src/license.test.ts b/packages/vocab/src/license.test.ts new file mode 100644 index 000000000..09ed05a09 --- /dev/null +++ b/packages/vocab/src/license.test.ts @@ -0,0 +1,588 @@ +import { test } from "@fedify/fixture"; +import { + type DocumentLoader, + getDocumentLoader, + preloadedContexts, +} from "@fedify/vocab-runtime"; +import jsonld from "@fedify/vocab-runtime/jsonld"; +import { deepStrictEqual, ok } from "node:assert/strict"; +import { + Application, + Collection, + Create, + Group, + Image, + Link, + Note, + Organization, + Person, + Question, + Service, + Video, +} from "./mod.ts"; + +// FEP-6757 draft and examples, pinned to: +// https://codeberg.org/fediverse/fep/src/commit/e735111d2d28a3d7b9798b7d5d436ec2d1f3bd04/fep/6757/fep-6757.md +const AS = "https://www.w3.org/ns/activitystreams"; +const FEP = "https://w3id.org/fep/6757"; +const DC_LICENSE = "http://purl.org/dc/terms/license"; +const PREFERRED_LICENSE = `${FEP}#preferredLicense`; +const SCHEMA_LICENSE = "https://schema.org/license"; +const HTTP_SCHEMA_LICENSE = "http://schema.org/license"; +const CC_LICENSE = "http://creativecommons.org/ns#license"; +const BY = "https://creativecommons.org/licenses/by/4.0/"; +const BY_NC = "https://creativecommons.org/licenses/by-nc/4.0/"; +const BY_NC_ND = "https://creativecommons.org/licenses/by-nc-nd/4.0/"; +const CC0 = "https://creativecommons.org/publicdomain/zero/1.0/"; +const PD_MARK = "https://creativecommons.org/publicdomain/mark/1.0/"; + +const noteExample = { + "@context": [AS, FEP, { schema: "https://schema.org/" }], + id: "https://social.example/note/857", + type: "Note", + content: "Hello, world!", + license: BY, + "schema:license": BY, + attachment: { + type: "Link", + href: "https://media.social.example/uploads/file339.jpg", + mediaType: "image/jpeg", + license: PD_MARK, + }, +}; + +const personExample = { + "@context": [AS, FEP], + id: "https://social.example/user/1753", + type: "Person", + name: "Example User", + inbox: "https://social.example/collection/9257", + outbox: "https://social.example/collection/10772", + summary: "An example user who is very illustrative of important features", + license: BY_NC_ND, + icon: { + type: "Image", + license: BY_NC, + url: { + type: "Link", + mediaType: "image/jpeg", + href: "https://media.social.example/upload/7272.jpg", + }, + }, + preferredLicense: BY_NC, +}; + +function record(value: unknown): Record { + ok(value != null && typeof value === "object" && !Array.isArray(value)); + return value as Record; +} + +const noFetch: DocumentLoader = (url) => { + throw new Error(`Unexpected fetch: ${url}`); +}; + +/** + * A context loader that serves only preloaded contexts and records them. + */ +function offlineContextLoader(): DocumentLoader & { loaded: string[] } { + const loaded: string[] = []; + const loader = getDocumentLoader(); + const contextLoader: DocumentLoader = (url, options) => { + if (!(url in preloadedContexts)) { + throw new Error(`Unexpected context fetch: ${url}`); + } + loaded.push(url); + return loader(url, options); + }; + return Object.assign(contextLoader, { loaded }); +} + +async function expand(json: unknown): Promise> { + const expanded = await jsonld.expand(json, { + documentLoader: getDocumentLoader(), + }); + return record(expanded[0]); +} + +function contexts(json: unknown): unknown[] { + const context = record(json)["@context"]; + return Array.isArray(context) ? context : [context]; +} + +function note(licenses: URL[] = [new URL(BY)]): Note { + return new Note({ + id: new URL("https://social.example/note/857"), + content: "Hello, world!", + licenses, + }); +} + +test("FEP-6757 context is preloaded", async () => { + ok(FEP in preloadedContexts); + const loaded = await getDocumentLoader()(FEP); + deepStrictEqual(record(loaded.document)["@context"], { + license: { "@id": DC_LICENSE, "@type": "@id" }, + preferredLicense: { "@id": PREFERRED_LICENSE, "@type": "@id" }, + }); +}); + +test("FEP-6757 note example is parsed offline", async () => { + const contextLoader = offlineContextLoader(); + const parsed = await Note.fromJsonLd(noteExample, { + documentLoader: noFetch, + contextLoader, + }); + deepStrictEqual(parsed.licenses, [new URL(BY)]); + const attachments = await Array.fromAsync( + parsed.getAttachments({ documentLoader: noFetch, contextLoader }), + ); + deepStrictEqual(attachments.length, 1); + ok(attachments[0] instanceof Link); + deepStrictEqual(attachments[0].licenses, [new URL(PD_MARK)]); + ok(contextLoader.loaded.includes(FEP)); + // An unchanged parsed object keeps its input, including the synonym: + deepStrictEqual(await parsed.toJsonLd(), noteExample); +}); + +test("FEP-6757 person example is parsed offline", async () => { + const contextLoader = offlineContextLoader(); + const person = await Person.fromJsonLd(personExample, { + documentLoader: noFetch, + contextLoader, + }); + deepStrictEqual(person.licenses, [new URL(BY_NC_ND)]); + deepStrictEqual(person.preferredLicense, new URL(BY_NC)); + const icon = await person.getIcon({ documentLoader: noFetch, contextLoader }); + ok(icon instanceof Image); + deepStrictEqual(icon.licenses, [new URL(BY_NC)]); + const url = icon.url; + ok(url instanceof Link); + deepStrictEqual(url.licenses, []); + deepStrictEqual(await person.toJsonLd(), personExample); +}); + +test("FEP-6757 license is written only as the canonical IRI", async () => { + for (const format of [undefined, "compact"] as const) { + const json = record(await note().toJsonLd({ format })); + deepStrictEqual(contexts(json).at(-1), FEP); + deepStrictEqual(json.license, BY); + const expanded = await expand(json); + deepStrictEqual(expanded[DC_LICENSE], [{ "@id": BY }]); + for (const synonym of [SCHEMA_LICENSE, HTTP_SCHEMA_LICENSE, CC_LICENSE]) { + ok(!(synonym in expanded)); + } + } + const expanded = await note().toJsonLd({ format: "expand" }); + deepStrictEqual( + record((expanded as unknown[])[0])[DC_LICENSE], + [{ "@id": BY }], + ); +}); + +test("FEP-6757 multiple licenses are alternatives in observed order", async () => { + const licenses = [new URL(BY), new URL(CC0)]; + const json = record(await note(licenses).toJsonLd()); + deepStrictEqual(json.license, [BY, CC0]); + const parsed = await Note.fromJsonLd(json, { documentLoader: noFetch }); + deepStrictEqual(parsed.licenses, licenses); +}); + +test("FEP-6757 objects without license metadata serialize as before", async () => { + const fields = { + id: new URL("https://social.example/note/1"), + content: "No license", + }; + for (const format of [undefined, "compact"] as const) { + const json = record(await new Note(fields).toJsonLd({ format })); + ok(!JSON.stringify(json["@context"]).includes(FEP)); + ok(!("license" in json)); + const person = record( + await new Person({ id: new URL("https://social.example/user/1") }) + .toJsonLd({ format }), + ); + ok(!JSON.stringify(person["@context"]).includes(FEP)); + ok(!("preferredLicense" in person)); + } + deepStrictEqual(await new Note(fields).toJsonLd(), { + "@context": [ + AS, + "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", + quote: { "@id": "https://w3id.org/fep/044f#quote", "@type": "@id" }, + quoteUrl: "as:quoteUrl", + _misskey_quote: "misskey:_misskey_quote", + quoteUri: "fedibird:quoteUri", + QuoteAuthorization: "https://w3id.org/fep/044f#QuoteAuthorization", + quoteAuthorization: { + "@id": "https://w3id.org/fep/044f#quoteAuthorization", + "@type": "@id", + }, + emojiReactions: { "@id": "fedibird:emojiReactions", "@type": "@id" }, + }, + ], + id: "https://social.example/note/1", + type: "Note", + content: "No license", + }); +}); + +test("FEP-6757 preferredLicense on every actor type", async () => { + for (const Actor of [Application, Group, Organization, Person, Service]) { + const actor = new Actor({ + id: new URL("https://social.example/actor"), + preferredLicense: new URL(BY_NC), + }); + for (const format of [undefined, "compact"] as const) { + const json = record(await actor.toJsonLd({ format })); + deepStrictEqual(contexts(json).at(-1), FEP); + deepStrictEqual(json.preferredLicense, BY_NC); + ok(!("license" in json)); + const expanded = await expand(json); + deepStrictEqual(expanded[PREFERRED_LICENSE], [{ "@id": BY_NC }]); + const parsed = await Actor.fromJsonLd(json, { documentLoader: noFetch }); + deepStrictEqual(parsed.preferredLicense, new URL(BY_NC)); + // A preferred license is not a license of the actor itself: + deepStrictEqual(parsed.licenses, []); + } + } +}); + +test("FEP-6757 licenses in activities compact to the license term", async () => { + // Activity contexts define a dc: prefix, which must not hide the license + // term behind a compact IRI such as dc:license: + const create = new Create({ + id: new URL("https://social.example/create/1"), + actor: new URL("https://social.example/user/1753"), + object: note(), + }); + for (const format of [undefined, "compact"] as const) { + const json = record(await create.toJsonLd({ format })); + deepStrictEqual(contexts(json).at(-1), FEP); + deepStrictEqual(record(json.object).license, BY); + ok(!("license" in json)); + ok(!JSON.stringify(json).includes("dc:license")); + } + const parsedNote = await Note.fromJsonLd(noteExample, { + documentLoader: noFetch, + }); + const forwarded = record( + await new Create({ + actor: new URL("https://social.example/user/1753"), + object: parsedNote, + }).toJsonLd(), + ); + deepStrictEqual(contexts(forwarded).at(-1), FEP); + deepStrictEqual(record(forwarded.object).license, BY); + const question = record( + await new Question({ + id: new URL("https://social.example/question/1"), + licenses: [new URL(BY)], + }).toJsonLd(), + ); + deepStrictEqual(question.license, BY); + ok(!JSON.stringify(question).includes("dc:license")); + // A cached child may define the license term inline: + const inline = await Note.fromJsonLd({ + "@context": [AS, { + license: { "@id": DC_LICENSE, "@type": "@id" }, + }], + id: "https://social.example/note/inline", + type: "Note", + license: BY, + }, { documentLoader: noFetch }); + const collection = record( + await new Collection({ + id: new URL("https://social.example/collection/1"), + items: [inline], + summary: "Licensed items", + }).toJsonLd(), + ); + deepStrictEqual(contexts(collection).at(-1), FEP); + const items = collection.items as Record; + deepStrictEqual(items.license, BY); +}); + +test("FEP-6757 licenses of nested objects only", async () => { + // Neither the note nor the actor has a license of its own: + const unlicensed = new Note({ + id: new URL("https://social.example/note/2"), + attachments: [ + new Link({ href: new URL(noteExample.attachment.href), licenses: [] }), + new Link({ + href: new URL(noteExample.attachment.href), + licenses: [new URL(PD_MARK)], + }), + ], + }); + const json = record(await unlicensed.toJsonLd()); + ok(!("license" in json)); + const attachments = json.attachment as Record[]; + ok(!("license" in attachments[0])); + deepStrictEqual(attachments[1].license, PD_MARK); + const expanded = await expand(json); + const links = + expanded["https://www.w3.org/ns/activitystreams#attachment"] as Record< + string, + unknown + >[]; + deepStrictEqual(links[1][DC_LICENSE], [{ "@id": PD_MARK }]); + const person = record( + await new Person({ + id: new URL("https://social.example/user/1"), + icon: new Image({ licenses: [new URL(BY_NC)] }), + }).toJsonLd(), + ); + ok(!("license" in person)); + deepStrictEqual(record(person.icon).license, BY_NC); + // A collection's license does not apply to its items: + const collection = await Collection.fromJsonLd({ + "@context": [AS, FEP], + type: "Collection", + license: CC0, + items: [{ type: "Note", content: "Unlicensed item" }], + }, { documentLoader: noFetch }); + deepStrictEqual(collection.licenses, [new URL(CC0)]); + const items = await Array.fromAsync( + collection.getItems({ documentLoader: noFetch }), + ); + ok(items[0] instanceof Note); + deepStrictEqual(items[0].licenses, []); +}); + +test("FEP-6757 modified clones write the canonical property", async () => { + const parsed = await Note.fromJsonLd({ + "@context": [AS, { schema: "https://schema.org/" }], + id: "https://social.example/note/3", + type: "Note", + "schema:license": BY, + }, { documentLoader: noFetch }); + deepStrictEqual(parsed.licenses, [new URL(BY)]); + for ( + const clone of [ + parsed.clone({ content: "Edited" }), + parsed.clone({ licenses: [new URL(CC0)] }), + ] + ) { + const json = record(await clone.toJsonLd()); + ok(!("schema:license" in json)); + const expanded = await expand(json); + ok(!(SCHEMA_LICENSE in expanded)); + deepStrictEqual(expanded[DC_LICENSE], [{ "@id": clone.licenses[0].href }]); + } + // Explicit compaction bypasses the cached input: + const compact = await expand(await parsed.toJsonLd({ format: "compact" })); + deepStrictEqual(compact[DC_LICENSE], [{ "@id": BY }]); + ok(!(SCHEMA_LICENSE in compact)); +}); + +test("FEP-6757 caller-provided contexts", async () => { + for ( + const context of [ + AS, + [AS, FEP], + [AS, "http://schema.org/"], + [AS, FEP, "http://schema.org/"], + [AS, "http://schema.org/", FEP], + ] + ) { + const json = await note().toJsonLd({ format: "compact", context }); + // The context is used as is; no extension context is appended: + deepStrictEqual(record(json)["@context"], context); + const expanded = await expand(json); + deepStrictEqual(expanded[DC_LICENSE], [{ "@id": BY }]); + const parsed = await Note.fromJsonLd(json, { documentLoader: noFetch }); + deepStrictEqual(parsed.licenses, [new URL(BY)]); + } +}); + +test("FEP-6757 synonym precedence", async () => { + const id = "https://social.example/note/4"; + const cases: [Record, string[]][] = [ + [{ [DC_LICENSE]: [{ "@id": BY }], [SCHEMA_LICENSE]: [{ "@id": CC0 }] }, [ + BY, + ]], + [{ [SCHEMA_LICENSE]: [{ "@id": CC0 }], [CC_LICENSE]: [{ "@id": BY }] }, [ + CC0, + ]], + // http://schema.org/license is not a synonym; see the PeerTube test: + [{ [HTTP_SCHEMA_LICENSE]: [{ "@id": BY }] }, []], + [{ [CC_LICENSE]: [{ "@id": CC0 }, { "@value": BY }] }, [CC0, BY]], + // An explicitly empty canonical set falls through to the synonyms: + [{ [DC_LICENSE]: [], [SCHEMA_LICENSE]: [{ "@value": BY }] }, [BY]], + // An invalid canonical set is not replaced by a synonym: + [{ + [DC_LICENSE]: [{ "@id": "CC-BY-4.0" }], + [SCHEMA_LICENSE]: [{ + "@id": BY, + }], + }, []], + [{}, []], + ]; + for (const [properties, expected] of cases) { + const parsed = await Note.fromJsonLd({ + "@id": id, + "@type": [`${AS}#Note`], + ...properties, + }, { documentLoader: noFetch }); + deepStrictEqual(parsed.licenses, expected.map((l) => new URL(l))); + } +}); + +test("FEP-6757 schema.org context order", async () => { + // The bundled Schema.org context also defines a license term, which expands + // to http://schema.org/license instead. The later context wins: + for ( + const [context, predicate, expected] of [ + [[AS, FEP, "http://schema.org/"], HTTP_SCHEMA_LICENSE, []], + [[AS, "http://schema.org/", FEP], DC_LICENSE, [new URL(BY)]], + ] as const + ) { + const json = { + "@context": context, + id: "https://social.example/note/5", + type: "Note", + license: BY, + }; + deepStrictEqual(Object.keys(await expand(json)).includes(predicate), true); + const parsed = await Note.fromJsonLd(json, { + documentLoader: noFetch, + contextLoader: offlineContextLoader(), + }); + deepStrictEqual(parsed.licenses, expected); + } + // The FEP example's own schema prefix yields a string literal, and + // a context's default language tags it: + for (const extra of [{}, { "@language": "und" }]) { + const literal = await Note.fromJsonLd({ + "@context": [AS, { schema: "https://schema.org/", ...extra }], + type: "Note", + "schema:license": BY, + }, { documentLoader: noFetch }); + deepStrictEqual(literal.licenses, [new URL(BY)]); + } +}); + +test("FEP-6757 PeerTube licences round-trip unchanged", async () => { + // PeerTube maps its licence to http://schema.org/license with a value + // that is not a URI, which must not cost the object its cached input: + const video = { + "@context": [AS, { + sc: "http://schema.org/", + licence: "sc:license", + uuid: "sc:identifier", + }], + type: "Video", + id: "https://peertube.example/videos/watch/1", + name: "A video", + uuid: "e5a2d4b0-0000-4000-8000-000000000000", + licence: { identifier: "1", name: "Attribution" }, + }; + const parsed = await Video.fromJsonLd(video, { documentLoader: noFetch }); + deepStrictEqual(parsed.licenses, []); + deepStrictEqual(await parsed.toJsonLd(), video); + const create = { + "@context": video["@context"], + type: "Create", + id: "https://peertube.example/videos/watch/1/activity", + actor: "https://peertube.example/accounts/alice", + object: { ...video, "@context": undefined }, + }; + delete create.object["@context"]; + const parsedCreate = await Create.fromJsonLd(create, { + documentLoader: noFetch, + }); + deepStrictEqual(await parsedCreate.toJsonLd(), create); +}); + +test("FEP-6757 rejects license names and relative identifiers", async () => { + const base = { + "@context": [AS, FEP], + id: "https://social.example/note/6", + type: "Note", + }; + for ( + const license of [ + "CC-BY-4.0", + "Creative Commons Attribution 4.0 International", + "licenses/by/4.0/", + "_:license", + ] + ) { + const parsed = await Note.fromJsonLd({ ...base, license }, { + documentLoader: noFetch, + }); + deepStrictEqual(parsed.licenses, []); + ok(!("license" in record(await parsed.toJsonLd()))); + } + const mixed = await Note.fromJsonLd({ + ...base, + license: ["CC-BY-4.0", BY, "urn:example:license"], + }, { documentLoader: noFetch }); + deepStrictEqual(mixed.licenses, [ + new URL(BY), + new URL("urn:example:license"), + ]); + // The input is no longer cached because a value was dropped: + deepStrictEqual( + record(await mixed.toJsonLd()).license, + [BY, "urn:example:license"], + ); + // A relative identifier made absolute by JSON-LD @base is accepted: + const withBase = await Note.fromJsonLd({ + ...base, + "@context": [AS, FEP, { "@base": "https://licenses.example/" }], + license: "by/4.0/", + }, { documentLoader: noFetch }); + deepStrictEqual(withBase.licenses, [ + new URL("https://licenses.example/by/4.0/"), + ]); + for ( + const value of [ + { "@value": BY, "@type": "http://www.w3.org/2001/XMLSchema#date" }, + { "@value": "CC-BY-4.0", "@language": "en" }, + ] + ) { + const parsed = await Note.fromJsonLd({ + "@type": [`${AS}#Note`], + [DC_LICENSE]: [value], + }, { documentLoader: noFetch }); + deepStrictEqual(parsed.licenses, []); + } + const typed = await Note.fromJsonLd({ + "@type": [`${AS}#Note`], + [DC_LICENSE]: [{ + "@value": BY, + "@type": "http://www.w3.org/2001/XMLSchema#anyURI", + }], + }, { documentLoader: noFetch }); + deepStrictEqual(typed.licenses, [new URL(BY)]); +}); + +test("FEP-6757 license IRIs are never dereferenced", async () => { + const requested: string[] = []; + const documentLoader: DocumentLoader = (url) => { + requested.push(url); + throw new Error(`Unexpected fetch: ${url}`); + }; + const contextLoader = offlineContextLoader(); + const parsed = await Note.fromJsonLd(noteExample, { + documentLoader, + contextLoader, + }); + deepStrictEqual(parsed.licenses, [new URL(BY)]); + await parsed.clone({ content: "Edited" }).toJsonLd({ contextLoader }); + const person = await Person.fromJsonLd(personExample, { + documentLoader, + contextLoader, + }); + deepStrictEqual(person.preferredLicense, new URL(BY_NC)); + deepStrictEqual(requested, []); + for (const url of contextLoader.loaded) ok(url in preloadedContexts); +}); diff --git a/packages/vocab/src/link.yaml b/packages/vocab/src/link.yaml index 2aa0ba693..68e4611b4 100644 --- a/packages/vocab/src/link.yaml +++ b/packages/vocab/src/link.yaml @@ -112,3 +112,28 @@ properties: range: - "https://www.w3.org/ns/activitystreams#Link" - "https://www.w3.org/ns/activitystreams#Object" + +- pluralName: licenses + singularName: license + compactName: license + uri: "http://purl.org/dc/terms/license" + extraContext: "https://w3id.org/fep/6757" + redundantProperties: + - uri: "https://schema.org/license" + - uri: "http://creativecommons.org/ns#license" + redundantPropertiesWrite: canonical + description: | + The copyright licenses for the linked resource, as defined by + [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + URI, such as ; license + names and SPDX short identifiers are not license URIs. Multiple values are + alternatives that a consumer may choose from; their order has no meaning. + + An empty list means the link carries no license metadata. Fedify does not + synthesize a default license for it. + + The `https://schema.org/license` and + `http://creativecommons.org/ns#license` properties are read as synonyms + when this property is absent, but only this property is written. + range: + - "fedify:absoluteIri" diff --git a/packages/vocab/src/object.yaml b/packages/vocab/src/object.yaml index eb8a1e59b..44286974d 100644 --- a/packages/vocab/src/object.yaml +++ b/packages/vocab/src/object.yaml @@ -484,3 +484,33 @@ properties: no authority to update the object. range: - "https://w3id.org/fep/22cd#Translation" + +- pluralName: licenses + singularName: license + compactName: license + uri: "http://purl.org/dc/terms/license" + extraContext: "https://w3id.org/fep/6757" + redundantProperties: + - uri: "https://schema.org/license" + - uri: "http://creativecommons.org/ns#license" + redundantPropertiesWrite: canonical + description: | + The copyright licenses for this object, as defined by + [FEP-6757](https://w3id.org/fep/6757). Each license is identified by its + URI, such as ; license names + and SPDX short identifiers are not license URIs. Multiple values are + alternatives that a consumer may choose from; their order has no meaning. + + An empty list means the object carries no license metadata. Fedify does + not synthesize a default license for it; FEP-6757 suggests that consumers + treat such content as “all rights reserved,” but that is a consumer policy, + not a value of this property. A license on an actor, activity, or + collection covers that object itself, not the objects the actor authored, + the activity's object, or the collection's items. An actor's + `preferredLicense` is not a fallback for this property either. + + The `https://schema.org/license` and + `http://creativecommons.org/ns#license` properties are read as synonyms + when this property is absent, but only this property is written. + range: + - "fedify:absoluteIri" diff --git a/packages/vocab/src/organization.yaml b/packages/vocab/src/organization.yaml index 7fef7c7e6..f7f3505a6 100644 --- a/packages/vocab/src/organization.yaml +++ b/packages/vocab/src/organization.yaml @@ -351,3 +351,18 @@ properties: attached in some clients. range: - "http://www.w3.org/2001/XMLSchema#boolean" + +- singularName: preferredLicense + functional: true + compactName: preferredLicense + uri: "https://w3id.org/fep/6757#preferredLicense" + extraContext: "https://w3id.org/fep/6757" + description: | + The URI of the license this actor prefers for the new objects it creates, + as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + as the default `license` of a new object and let the user choose another. + + This is not a fallback license: an object without its own `license` is not + licensed under its author's preferred license. + range: + - "fedify:absoluteIri" diff --git a/packages/vocab/src/person.yaml b/packages/vocab/src/person.yaml index ef4a4613c..4a5ff6807 100644 --- a/packages/vocab/src/person.yaml +++ b/packages/vocab/src/person.yaml @@ -351,3 +351,18 @@ properties: attached in some clients. range: - "http://www.w3.org/2001/XMLSchema#boolean" + +- singularName: preferredLicense + functional: true + compactName: preferredLicense + uri: "https://w3id.org/fep/6757#preferredLicense" + extraContext: "https://w3id.org/fep/6757" + description: | + The URI of the license this actor prefers for the new objects it creates, + as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + as the default `license` of a new object and let the user choose another. + + This is not a fallback license: an object without its own `license` is not + licensed under its author's preferred license. + range: + - "fedify:absoluteIri" diff --git a/packages/vocab/src/service.yaml b/packages/vocab/src/service.yaml index d662e25c6..4cc3250de 100644 --- a/packages/vocab/src/service.yaml +++ b/packages/vocab/src/service.yaml @@ -351,3 +351,18 @@ properties: attached in some clients. range: - "http://www.w3.org/2001/XMLSchema#boolean" + +- singularName: preferredLicense + functional: true + compactName: preferredLicense + uri: "https://w3id.org/fep/6757#preferredLicense" + extraContext: "https://w3id.org/fep/6757" + description: | + The URI of the license this actor prefers for the new objects it creates, + as defined by [FEP-6757](https://w3id.org/fep/6757). A client can use it + as the default `license` of a new object and let the user choose another. + + This is not a fallback license: an object without its own `license` is not + licensed under its author's preferred license. + range: + - "fedify:absoluteIri" diff --git a/packages/vocab/src/vocab.test.ts b/packages/vocab/src/vocab.test.ts index dd4835ec0..f9e4cee97 100644 --- a/packages/vocab/src/vocab.test.ts +++ b/packages/vocab/src/vocab.test.ts @@ -5852,6 +5852,9 @@ const sampleValues: Record = { ]), "fedify:langTag": new Intl.Locale("en-Latn-US"), "fedify:url": new URL("https://fedify.dev/"), + "fedify:absoluteIri": new URL( + "https://creativecommons.org/licenses/by/4.0/", + ), "fedify:gatewayUrl": new URL("https://gateway.example/"), "fedify:publicKey": rsaPublicKey.publicKey, "fedify:multibaseKey": ed25519PublicKey.publicKey, @@ -6221,12 +6224,21 @@ for (const typeUri in types) { ), ), ]; - deepStrictEqual( - jsonLd["@context"], - extraContexts.length === 0 - ? type.defaultContext - : [...defaultContexts, ...extraContexts], - ); + if (extraContexts.length === 0) { + deepStrictEqual(jsonLd["@context"], type.defaultContext); + } else { + // Extra contexts follow the default ones in the order their terms are + // found in the compacted document, not in the property order: + const context = jsonLd["@context"] as unknown[]; + deepStrictEqual( + context.slice(0, defaultContexts.length), + defaultContexts, + ); + deepStrictEqual( + context.slice(defaultContexts.length).toSorted(), + extraContexts.toSorted(), + ); + } if (type.entity) deepStrictEqual(jsonLd.id, "https://example.com/"); const restored = await cls.fromJsonLd(jsonLd, { documentLoader: mockDocumentLoader,