@fedify/vocab 2.4.0-dev.1599 → 2.4.0-dev.1634

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/deno.json +1 -1
  2. package/dist/mod.cjs +472 -16
  3. package/dist/mod.d.cts +119 -1
  4. package/dist/mod.d.ts +119 -1
  5. package/dist/mod.js +473 -17
  6. package/dist-tests/{actor-NhcklZK0.mjs → actor-BQd8S953.mjs} +2 -2
  7. package/dist-tests/actor.test.mjs +2 -2
  8. package/dist-tests/application.yaml +15 -0
  9. package/dist-tests/audio.yaml +2 -1
  10. package/dist-tests/document.yaml +14 -1
  11. package/dist-tests/endpoints.yaml +14 -0
  12. package/dist-tests/group.yaml +15 -0
  13. package/dist-tests/image.yaml +2 -1
  14. package/dist-tests/link.yaml +14 -1
  15. package/dist-tests/lookup.test.mjs +71 -4
  16. package/dist-tests/organization.yaml +15 -0
  17. package/dist-tests/page.yaml +2 -1
  18. package/dist-tests/person.yaml +15 -0
  19. package/dist-tests/service.yaml +15 -0
  20. package/dist-tests/type.test.mjs +1 -1
  21. package/dist-tests/video.yaml +2 -1
  22. package/dist-tests/{vocab-BQ8y6QS7.mjs → vocab-Bjwctrxn.mjs} +472 -16
  23. package/dist-tests/vocab.test.mjs +232 -2
  24. package/package.json +4 -4
  25. package/src/__snapshots__/vocab.test.ts.snap +60 -18
  26. package/src/application.yaml +15 -0
  27. package/src/audio.yaml +2 -1
  28. package/src/document.yaml +14 -1
  29. package/src/endpoints.yaml +14 -0
  30. package/src/group.yaml +15 -0
  31. package/src/image.yaml +2 -1
  32. package/src/link.yaml +14 -1
  33. package/src/lookup.test.ts +121 -0
  34. package/src/lookup.ts +3 -1
  35. package/src/organization.yaml +15 -0
  36. package/src/page.yaml +2 -1
  37. package/src/person.yaml +15 -0
  38. package/src/preprocessors.ts +3 -1
  39. package/src/service.yaml +15 -0
  40. package/src/video.yaml +2 -1
  41. package/src/vocab.test.ts +372 -0
@@ -4,7 +4,7 @@ import "node:module";
4
4
  import { SpanStatusCode, trace } from "@opentelemetry/api";
5
5
  import jsonld from "@fedify/vocab-runtime/jsonld";
6
6
  import { getLogger } from "@logtape/logtape";
7
- import { LanguageString, decodeMultibase, encodeMultibase, exportMultibaseKey, exportSpki, formatIri, getDocumentLoader, importMultibaseKey, importPem, isDecimal, parseDecimal, parseIri, parseJsonLdId } from "@fedify/vocab-runtime";
7
+ import { LanguageString, decodeMultibase, encodeMultibase, exportMultibaseKey, exportSpki, formatIri, getDocumentLoader, importMultibaseKey, importPem, isDecimal, isGatewayUrl, parseDecimal, parseGatewayUrl, parseIri, parseJsonLdId } from "@fedify/vocab-runtime";
8
8
  import { compactJsonLdCache, isTrustedIriOrigin, normalizeJsonLdIris } from "@fedify/vocab-runtime/internal/jsonld-cache";
9
9
  import { isTemporalDuration, isTemporalInstant } from "@fedify/vocab-runtime/temporal";
10
10
  //#region \0rolldown/runtime.js
@@ -46,7 +46,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
46
46
  * When an `icon` or `image` property on a vocabulary object contains an
47
47
  * explicit ActivityStreams `Link` rather than an `Image`, this preprocessor
48
48
  * converts it into an `Image` by mapping `href` to `url`, copying
49
- * `mediaType`, `name`, `width`, and `height`, and discarding the rest.
49
+ * `mediaType`, `name`, `width`, `height`, and `digestMultibase`, and
50
+ * discarding the rest.
50
51
  *
51
52
  * If the value is not a Link, or the Link has no `href`, it returns
52
53
  * `undefined` so the normal range decoder continues.
@@ -67,7 +68,8 @@ const normalizeLinkToImage = async (value, context) => {
67
68
  mediaType: link.mediaType,
68
69
  names: link.names != null && link.names.length > 0 ? link.names : void 0,
69
70
  width: link.width,
70
- height: link.height
71
+ height: link.height,
72
+ digestMultibase: link.digestMultibase
71
73
  });
72
74
  };
73
75
  //#endregion
@@ -282,6 +284,7 @@ const PORTABLE_IRI_KEYS = new Set([
282
284
  "https://www.w3.org/ns/activitystreams#target",
283
285
  "https://www.w3.org/ns/activitystreams#to",
284
286
  "https://www.w3.org/ns/activitystreams#units",
287
+ "https://www.w3.org/ns/activitystreams#uploadMedia",
285
288
  "https://www.w3.org/ns/activitystreams#url",
286
289
  "https://www.w3.org/ns/did#service",
287
290
  "https://www.w3.org/ns/did#serviceEndpoint",
@@ -343,6 +346,7 @@ const PORTABLE_IRI_KEYS = new Set([
343
346
  "target",
344
347
  "to",
345
348
  "units",
349
+ "uploadMedia",
346
350
  "url"
347
351
  ]);
348
352
  /** Describes an object of any kind. The Object type serves as the base type for
@@ -22078,6 +22082,7 @@ var Application = class Application extends Object$1 {
22078
22082
  #_trust_axq166E2eZADq34V4MYUc8KMZdC_publicKey = /* @__PURE__ */ new Set();
22079
22083
  #_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = [];
22080
22084
  #_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = /* @__PURE__ */ new Set();
22085
+ #_hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
22081
22086
  #_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
22082
22087
  #_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = [];
22083
22088
  #_trust_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = /* @__PURE__ */ new Set();
@@ -22146,6 +22151,13 @@ var Application = class Application extends Object$1 {
22146
22151
  for (let i = 0; i < values.assertionMethods.length; i++) this.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
22147
22152
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
22148
22153
  }
22154
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
22155
+ else throw new TypeError("The gateway must be of type URL.");
22156
+ if ("gateways" in values && values.gateways != null) {
22157
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot initialize both gateway and gateways at the same time.");
22158
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
22159
+ else throw new TypeError("The gateways must be an array of type URL.");
22160
+ }
22149
22161
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
22150
22162
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
22151
22163
  if ("inbox" in values && values.inbox != null) if (values.inbox instanceof OrderedCollection || values.inbox instanceof OrderedCollectionPage || values.inbox instanceof URL) {
@@ -22276,6 +22288,14 @@ var Application = class Application extends Object$1 {
22276
22288
  for (let i = 0; i < values.assertionMethods.length; i++) clone.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
22277
22289
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
22278
22290
  }
22291
+ clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
22292
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
22293
+ else throw new TypeError("The gateway must be of type URL.");
22294
+ if ("gateways" in values && values.gateways != null) {
22295
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot update both gateway and gateways at the same time.");
22296
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
22297
+ else throw new TypeError("The gateways must be an array of type URL.");
22298
+ }
22279
22299
  clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers;
22280
22300
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
22281
22301
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
@@ -22749,6 +22769,24 @@ var Application = class Application extends Object$1 {
22749
22769
  yield v;
22750
22770
  }
22751
22771
  }
22772
+ /** Gateways where the latest version of this portable actor object can be
22773
+ * retrieved.
22774
+ *
22775
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
22776
+ */
22777
+ get gateway() {
22778
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
22779
+ if (this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.length < 1) return null;
22780
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3[0];
22781
+ }
22782
+ /** Gateways where the latest version of this portable actor object can be
22783
+ * retrieved.
22784
+ *
22785
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
22786
+ */
22787
+ get gateways() {
22788
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
22789
+ }
22752
22790
  /** When `true`, conveys that for this actor, follow requests are not usually
22753
22791
  * automatically approved, but instead are examined by a person who may accept
22754
22792
  * or reject the request, at some time in the future. Setting of `false`
@@ -24618,6 +24656,12 @@ var Application = class Application extends Object$1 {
24618
24656
  }
24619
24657
  if (compactItems.length > 0) result["assertionMethod"] = compactItems.length > 1 ? compactItems : compactItems[0];
24620
24658
  compactItems = [];
24659
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
24660
+ const item = formatIri(v);
24661
+ compactItems.push(item);
24662
+ }
24663
+ if (compactItems.length > 0) result["gateways"] = compactItems;
24664
+ compactItems = [];
24621
24665
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
24622
24666
  const item = v;
24623
24667
  compactItems.push(item);
@@ -24833,6 +24877,7 @@ var Application = class Application extends Object$1 {
24833
24877
  if (this.id != null) result["id"] = formatIri(this.id);
24834
24878
  result["@context"] = [
24835
24879
  "https://www.w3.org/ns/activitystreams",
24880
+ "https://w3id.org/fep/ef61",
24836
24881
  "https://w3id.org/security/v1",
24837
24882
  "https://w3id.org/security/data-integrity/v1",
24838
24883
  "https://www.w3.org/ns/did/v1",
@@ -24905,6 +24950,12 @@ var Application = class Application extends Object$1 {
24905
24950
  }
24906
24951
  if (array.length > 0) values["https://w3id.org/security#assertionMethod"] = array;
24907
24952
  array = [];
24953
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
24954
+ const element = { "@id": formatIri(v) };
24955
+ array.push(element);
24956
+ }
24957
+ if (array.length > 0) values["https://w3id.org/fep/ef61/gateways"] = { "@list": array };
24958
+ array = [];
24908
24959
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
24909
24960
  const element = { "@value": v };
24910
24961
  array.push(element);
@@ -25029,6 +25080,7 @@ var Application = class Application extends Object$1 {
25029
25080
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
25030
25081
  const docContext = options.context ?? [
25031
25082
  "https://www.w3.org/ns/activitystreams",
25083
+ "https://w3id.org/fep/ef61",
25032
25084
  "https://w3id.org/security/v1",
25033
25085
  "https://w3id.org/security/data-integrity/v1",
25034
25086
  "https://www.w3.org/ns/did/v1",
@@ -25192,6 +25244,15 @@ var Application = class Application extends Object$1 {
25192
25244
  _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.push(decoded);
25193
25245
  }
25194
25246
  instance.#_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
25247
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
25248
+ let _hQiaHhZP8hqxckxTBrpsGNs57E3__array = values["https://w3id.org/fep/ef61/gateways"];
25249
+ for (const v of _hQiaHhZP8hqxckxTBrpsGNs57E3__array == null ? [] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array.length === 1 && "@list" in _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0] ? _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0]["@list"] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array) {
25250
+ if (v == null) continue;
25251
+ const decoded = parseGatewayUrl(typeof v["@id"] === "string" ? v["@id"] : v["@value"]);
25252
+ if (typeof decoded === "undefined") continue;
25253
+ _hQiaHhZP8hqxckxTBrpsGNs57E3.push(decoded);
25254
+ }
25255
+ instance.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = _hQiaHhZP8hqxckxTBrpsGNs57E3;
25195
25256
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
25196
25257
  let _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array = values["https://www.w3.org/ns/activitystreams#manuallyApprovesFollowers"];
25197
25258
  for (const v of _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array == null ? [] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array.length === 1 && "@list" in _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0] ? _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0]["@list"] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array) {
@@ -25533,6 +25594,12 @@ var Application = class Application extends Object$1 {
25533
25594
  } : v);
25534
25595
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length == 1) proxy.assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod[0];
25535
25596
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 1 || !("assertionMethod" in proxy) && _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 0) proxy.assertionMethods = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
25597
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.map((v) => v instanceof URL ? {
25598
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
25599
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
25600
+ } : v);
25601
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length == 1) proxy.gateway = _hQiaHhZP8hqxckxTBrpsGNs57E3[0];
25602
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length > 1 || !("gateway" in proxy) && _hQiaHhZP8hqxckxTBrpsGNs57E3.length > 0) proxy.gateways = _hQiaHhZP8hqxckxTBrpsGNs57E3;
25536
25603
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers.map((v) => v instanceof URL ? {
25537
25604
  [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
25538
25605
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
@@ -26623,6 +26690,7 @@ var Document = class Document extends Object$1 {
26623
26690
  }
26624
26691
  #_2e9AP7WdHBJYAgXG6GEyq7nSkNMe_width = [];
26625
26692
  #_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height = [];
26693
+ #_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [];
26626
26694
  /**
26627
26695
  * Constructs a new instance of Document with the given values.
26628
26696
  * @param values The values to initialize the instance with.
@@ -26634,6 +26702,8 @@ var Document = class Document extends Object$1 {
26634
26702
  else throw new TypeError("The width must be of type number.");
26635
26703
  if ("height" in values && values.height != null) if (typeof values.height === "number" && Number.isInteger(values.height) && values.height >= 0) this.#_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height = [values.height];
26636
26704
  else throw new TypeError("The height must be of type number.");
26705
+ if ("digestMultibase" in values && values.digestMultibase != null) if (typeof values.digestMultibase === "string") this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [values.digestMultibase];
26706
+ else throw new TypeError("The digestMultibase must be of type string.");
26637
26707
  }
26638
26708
  /**
26639
26709
  * Clones this instance, optionally updating it with the given values.
@@ -26656,6 +26726,9 @@ var Document = class Document extends Object$1 {
26656
26726
  clone.#_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height = this.#_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height;
26657
26727
  if ("height" in values && values.height != null) if (typeof values.height === "number" && Number.isInteger(values.height) && values.height >= 0) clone.#_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height = [values.height];
26658
26728
  else throw new TypeError("The height must be of type number.");
26729
+ clone.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase;
26730
+ if ("digestMultibase" in values && values.digestMultibase != null) if (typeof values.digestMultibase === "string") clone.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [values.digestMultibase];
26731
+ else throw new TypeError("The digestMultibase must be of type string.");
26659
26732
  return clone;
26660
26733
  }
26661
26734
  /** Specifies a hint as to the rendering width in
@@ -26674,6 +26747,16 @@ var Document = class Document extends Object$1 {
26674
26747
  if (this.#_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height.length < 1) return null;
26675
26748
  return this.#_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height[0];
26676
26749
  }
26750
+ /** The multibase-encoded integrity digest of an external resource represented
26751
+ * by this document.
26752
+ *
26753
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
26754
+ */
26755
+ get digestMultibase() {
26756
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
26757
+ if (this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.length < 1) return null;
26758
+ return this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase[0];
26759
+ }
26677
26760
  /**
26678
26761
  * Converts this object to a JSON-LD structure.
26679
26762
  * @param options The options to use.
@@ -26709,11 +26792,18 @@ var Document = class Document extends Object$1 {
26709
26792
  compactItems.push(item);
26710
26793
  }
26711
26794
  if (compactItems.length > 0) result["height"] = compactItems.length > 1 ? compactItems : compactItems[0];
26795
+ compactItems = [];
26796
+ for (const v of this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase) {
26797
+ const item = v;
26798
+ compactItems.push(item);
26799
+ }
26800
+ if (compactItems.length > 0) result["digestMultibase"] = compactItems.length > 1 ? compactItems : compactItems[0];
26712
26801
  result["type"] = "Document";
26713
26802
  if (this.id != null) result["id"] = formatIri(this.id);
26714
26803
  result["@context"] = [
26715
26804
  "https://www.w3.org/ns/activitystreams",
26716
- "https://w3id.org/security/data-integrity/v1",
26805
+ "https://w3id.org/security/data-integrity/v2",
26806
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
26717
26807
  "https://gotosocial.org/ns"
26718
26808
  ];
26719
26809
  return result;
@@ -26742,12 +26832,19 @@ var Document = class Document extends Object$1 {
26742
26832
  array.push(element);
26743
26833
  }
26744
26834
  if (array.length > 0) values["https://www.w3.org/ns/activitystreams#height"] = array;
26835
+ array = [];
26836
+ for (const v of this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase) {
26837
+ const element = { "@value": v };
26838
+ array.push(element);
26839
+ }
26840
+ if (array.length > 0) values["https://www.w3.org/ns/credentials/v2#digestMultibase"] = array;
26745
26841
  values["@type"] = ["https://www.w3.org/ns/activitystreams#Document"];
26746
26842
  if (this.id != null) values["@id"] = formatIri(this.id);
26747
26843
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
26748
26844
  const docContext = options.context ?? [
26749
26845
  "https://www.w3.org/ns/activitystreams",
26750
- "https://w3id.org/security/data-integrity/v1",
26846
+ "https://w3id.org/security/data-integrity/v2",
26847
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
26751
26848
  "https://gotosocial.org/ns"
26752
26849
  ];
26753
26850
  const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
@@ -26848,6 +26945,15 @@ var Document = class Document extends Object$1 {
26848
26945
  _2cGKFeFJMmiNpGZFEF75mCwFQsKb_height.push(decoded);
26849
26946
  }
26850
26947
  instance.#_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height = _2cGKFeFJMmiNpGZFEF75mCwFQsKb_height;
26948
+ const _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [];
26949
+ let _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array = values["https://www.w3.org/ns/credentials/v2#digestMultibase"];
26950
+ for (const v of _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array == null ? [] : _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array.length === 1 && "@list" in _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array[0] ? _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array[0]["@list"] : _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array) {
26951
+ if (v == null) continue;
26952
+ const decoded = v["@value"];
26953
+ if (typeof decoded === "undefined") continue;
26954
+ _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.push(decoded);
26955
+ }
26956
+ instance.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase;
26851
26957
  if (!("_fromSubclass" in options) || !options._fromSubclass) try {
26852
26958
  if (cacheJsonLd != null && cacheJsonLd !== expanded) {
26853
26959
  const compactArray = Array.isArray(json) && json.length === 1;
@@ -26872,6 +26978,11 @@ var Document = class Document extends Object$1 {
26872
26978
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
26873
26979
  } : v);
26874
26980
  if (_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height.length == 1) proxy.height = _2cGKFeFJMmiNpGZFEF75mCwFQsKb_height[0];
26981
+ const _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.map((v) => v instanceof URL ? {
26982
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
26983
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
26984
+ } : v);
26985
+ if (_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.length == 1) proxy.digestMultibase = _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase[0];
26875
26986
  return proxy;
26876
26987
  }
26877
26988
  };
@@ -26941,7 +27052,8 @@ var Audio = class Audio extends Document {
26941
27052
  if (this.id != null) result["id"] = formatIri(this.id);
26942
27053
  result["@context"] = [
26943
27054
  "https://www.w3.org/ns/activitystreams",
26944
- "https://w3id.org/security/data-integrity/v1",
27055
+ "https://w3id.org/security/data-integrity/v2",
27056
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
26945
27057
  "https://gotosocial.org/ns"
26946
27058
  ];
26947
27059
  return result;
@@ -26956,7 +27068,8 @@ var Audio = class Audio extends Document {
26956
27068
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
26957
27069
  const docContext = options.context ?? [
26958
27070
  "https://www.w3.org/ns/activitystreams",
26959
- "https://w3id.org/security/data-integrity/v1",
27071
+ "https://w3id.org/security/data-integrity/v2",
27072
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
26960
27073
  "https://gotosocial.org/ns"
26961
27074
  ];
26962
27075
  const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
@@ -28735,6 +28848,7 @@ var Endpoints = class {
28735
28848
  #_8Bx9qN8oU7Bpt2xi6khaxWp1gMr_provideClientKey = [];
28736
28849
  #_3dU7PMVQZJpsCpo2F4RQXxBXdPmS_signClientKey = [];
28737
28850
  #_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox = [];
28851
+ #_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia = [];
28738
28852
  /**
28739
28853
  * Constructs a new instance of Endpoints with the given values.
28740
28854
  * @param values The values to initialize the instance with.
@@ -28761,6 +28875,8 @@ var Endpoints = class {
28761
28875
  else throw new TypeError("The signClientKey must be of type URL.");
28762
28876
  if ("sharedInbox" in values && values.sharedInbox != null) if (values.sharedInbox instanceof URL) this.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox = [values.sharedInbox];
28763
28877
  else throw new TypeError("The sharedInbox must be of type URL.");
28878
+ if ("uploadMedia" in values && values.uploadMedia != null) if (values.uploadMedia instanceof URL) this.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia = [values.uploadMedia];
28879
+ else throw new TypeError("The uploadMedia must be of type URL.");
28764
28880
  }
28765
28881
  /**
28766
28882
  * Clones this instance, optionally updating it with the given values.
@@ -28795,6 +28911,9 @@ var Endpoints = class {
28795
28911
  clone.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox = this.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox;
28796
28912
  if ("sharedInbox" in values && values.sharedInbox != null) if (values.sharedInbox instanceof URL) clone.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox = [values.sharedInbox];
28797
28913
  else throw new TypeError("The sharedInbox must be of type URL.");
28914
+ clone.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia = this.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia;
28915
+ if ("uploadMedia" in values && values.uploadMedia != null) if (values.uploadMedia instanceof URL) clone.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia = [values.uploadMedia];
28916
+ else throw new TypeError("The uploadMedia must be of type URL.");
28798
28917
  return clone;
28799
28918
  }
28800
28919
  /** Endpoint URI so this actor's clients may access remote ActivityStreams
@@ -28862,6 +28981,18 @@ var Endpoints = class {
28862
28981
  if (this.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox.length < 1) return null;
28863
28982
  return this.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox[0];
28864
28983
  }
28984
+ /** Upload endpoint URI for this user for binary data, such as an image or
28985
+ * video, as described in the [ActivityPub Media
28986
+ * Upload](https://www.w3.org/wiki/SocialCG/ActivityPub/MediaUpload) extension.
28987
+ * Clients `POST` a `multipart/form-data` request containing a `file` part
28988
+ * (the binary payload) and an `object` part (an ActivityStreams object shell)
28989
+ * to this endpoint.
28990
+ */
28991
+ get uploadMedia() {
28992
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
28993
+ if (this.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia.length < 1) return null;
28994
+ return this.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia[0];
28995
+ }
28865
28996
  /**
28866
28997
  * Converts this object to a JSON-LD structure.
28867
28998
  * @param options The options to use.
@@ -28917,6 +29048,12 @@ var Endpoints = class {
28917
29048
  compactItems.push(item);
28918
29049
  }
28919
29050
  if (compactItems.length > 0) result["sharedInbox"] = compactItems.length > 1 ? compactItems : compactItems[0];
29051
+ compactItems = [];
29052
+ for (const v of this.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia) {
29053
+ const item = formatIri(v);
29054
+ compactItems.push(item);
29055
+ }
29056
+ if (compactItems.length > 0) result["uploadMedia"] = compactItems.length > 1 ? compactItems : compactItems[0];
28920
29057
  if (this.id != null) result["id"] = formatIri(this.id);
28921
29058
  result["@context"] = "https://www.w3.org/ns/activitystreams";
28922
29059
  return result;
@@ -28959,6 +29096,12 @@ var Endpoints = class {
28959
29096
  array.push(element);
28960
29097
  }
28961
29098
  if (array.length > 0) values["https://www.w3.org/ns/activitystreams#sharedInbox"] = array;
29099
+ array = [];
29100
+ for (const v of this.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia) {
29101
+ const element = { "@id": formatIri(v) };
29102
+ array.push(element);
29103
+ }
29104
+ if (array.length > 0) values["https://www.w3.org/ns/activitystreams#uploadMedia"] = array;
28962
29105
  if (this.id != null) values["@id"] = formatIri(this.id);
28963
29106
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
28964
29107
  const docContext = options.context ?? "https://www.w3.org/ns/activitystreams";
@@ -29084,6 +29227,15 @@ var Endpoints = class {
29084
29227
  _3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox.push(decoded);
29085
29228
  }
29086
29229
  instance.#_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox = _3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox;
29230
+ const _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia = [];
29231
+ let _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia__array = values["https://www.w3.org/ns/activitystreams#uploadMedia"];
29232
+ for (const v of _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia__array == null ? [] : _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia__array.length === 1 && "@list" in _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia__array[0] ? _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia__array[0]["@list"] : _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia__array) {
29233
+ if (v == null) continue;
29234
+ const decoded = parseIri(v["@id"], options.baseUrl);
29235
+ if (typeof decoded === "undefined") continue;
29236
+ _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia.push(decoded);
29237
+ }
29238
+ instance.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia = _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia;
29087
29239
  if (!("_fromSubclass" in options) || !options._fromSubclass) try {
29088
29240
  if (cacheJsonLd != null && cacheJsonLd !== expanded) {
29089
29241
  const compactArray = Array.isArray(json) && json.length === 1;
@@ -29132,6 +29284,11 @@ var Endpoints = class {
29132
29284
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
29133
29285
  } : v);
29134
29286
  if (_3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox.length == 1) proxy.sharedInbox = _3JprUSDLVqqX4dwHRi37qGZZCRCc_sharedInbox[0];
29287
+ const _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia = this.#_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia.map((v) => v instanceof URL ? {
29288
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
29289
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
29290
+ } : v);
29291
+ if (_KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia.length == 1) proxy.uploadMedia = _KukVKGqFRETxAxXA15YCYAA7XAT_uploadMedia[0];
29135
29292
  return proxy;
29136
29293
  }
29137
29294
  };
@@ -29663,6 +29820,7 @@ var Group = class Group extends Object$1 {
29663
29820
  #_trust_axq166E2eZADq34V4MYUc8KMZdC_publicKey = /* @__PURE__ */ new Set();
29664
29821
  #_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = [];
29665
29822
  #_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = /* @__PURE__ */ new Set();
29823
+ #_hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
29666
29824
  #_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
29667
29825
  #_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = [];
29668
29826
  #_trust_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = /* @__PURE__ */ new Set();
@@ -29731,6 +29889,13 @@ var Group = class Group extends Object$1 {
29731
29889
  for (let i = 0; i < values.assertionMethods.length; i++) this.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
29732
29890
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
29733
29891
  }
29892
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
29893
+ else throw new TypeError("The gateway must be of type URL.");
29894
+ if ("gateways" in values && values.gateways != null) {
29895
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot initialize both gateway and gateways at the same time.");
29896
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
29897
+ else throw new TypeError("The gateways must be an array of type URL.");
29898
+ }
29734
29899
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
29735
29900
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
29736
29901
  if ("inbox" in values && values.inbox != null) if (values.inbox instanceof OrderedCollection || values.inbox instanceof OrderedCollectionPage || values.inbox instanceof URL) {
@@ -29861,6 +30026,14 @@ var Group = class Group extends Object$1 {
29861
30026
  for (let i = 0; i < values.assertionMethods.length; i++) clone.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
29862
30027
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
29863
30028
  }
30029
+ clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
30030
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
30031
+ else throw new TypeError("The gateway must be of type URL.");
30032
+ if ("gateways" in values && values.gateways != null) {
30033
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot update both gateway and gateways at the same time.");
30034
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
30035
+ else throw new TypeError("The gateways must be an array of type URL.");
30036
+ }
29864
30037
  clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers;
29865
30038
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
29866
30039
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
@@ -30334,6 +30507,24 @@ var Group = class Group extends Object$1 {
30334
30507
  yield v;
30335
30508
  }
30336
30509
  }
30510
+ /** Gateways where the latest version of this portable actor object can be
30511
+ * retrieved.
30512
+ *
30513
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
30514
+ */
30515
+ get gateway() {
30516
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
30517
+ if (this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.length < 1) return null;
30518
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3[0];
30519
+ }
30520
+ /** Gateways where the latest version of this portable actor object can be
30521
+ * retrieved.
30522
+ *
30523
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
30524
+ */
30525
+ get gateways() {
30526
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
30527
+ }
30337
30528
  /** When `true`, conveys that for this actor, follow requests are not usually
30338
30529
  * automatically approved, but instead are examined by a person who may accept
30339
30530
  * or reject the request, at some time in the future. Setting of `false`
@@ -32203,6 +32394,12 @@ var Group = class Group extends Object$1 {
32203
32394
  }
32204
32395
  if (compactItems.length > 0) result["assertionMethod"] = compactItems.length > 1 ? compactItems : compactItems[0];
32205
32396
  compactItems = [];
32397
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
32398
+ const item = formatIri(v);
32399
+ compactItems.push(item);
32400
+ }
32401
+ if (compactItems.length > 0) result["gateways"] = compactItems;
32402
+ compactItems = [];
32206
32403
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
32207
32404
  const item = v;
32208
32405
  compactItems.push(item);
@@ -32418,6 +32615,7 @@ var Group = class Group extends Object$1 {
32418
32615
  if (this.id != null) result["id"] = formatIri(this.id);
32419
32616
  result["@context"] = [
32420
32617
  "https://www.w3.org/ns/activitystreams",
32618
+ "https://w3id.org/fep/ef61",
32421
32619
  "https://w3id.org/security/v1",
32422
32620
  "https://w3id.org/security/data-integrity/v1",
32423
32621
  "https://www.w3.org/ns/did/v1",
@@ -32490,6 +32688,12 @@ var Group = class Group extends Object$1 {
32490
32688
  }
32491
32689
  if (array.length > 0) values["https://w3id.org/security#assertionMethod"] = array;
32492
32690
  array = [];
32691
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
32692
+ const element = { "@id": formatIri(v) };
32693
+ array.push(element);
32694
+ }
32695
+ if (array.length > 0) values["https://w3id.org/fep/ef61/gateways"] = { "@list": array };
32696
+ array = [];
32493
32697
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
32494
32698
  const element = { "@value": v };
32495
32699
  array.push(element);
@@ -32614,6 +32818,7 @@ var Group = class Group extends Object$1 {
32614
32818
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
32615
32819
  const docContext = options.context ?? [
32616
32820
  "https://www.w3.org/ns/activitystreams",
32821
+ "https://w3id.org/fep/ef61",
32617
32822
  "https://w3id.org/security/v1",
32618
32823
  "https://w3id.org/security/data-integrity/v1",
32619
32824
  "https://www.w3.org/ns/did/v1",
@@ -32777,6 +32982,15 @@ var Group = class Group extends Object$1 {
32777
32982
  _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.push(decoded);
32778
32983
  }
32779
32984
  instance.#_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
32985
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
32986
+ let _hQiaHhZP8hqxckxTBrpsGNs57E3__array = values["https://w3id.org/fep/ef61/gateways"];
32987
+ for (const v of _hQiaHhZP8hqxckxTBrpsGNs57E3__array == null ? [] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array.length === 1 && "@list" in _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0] ? _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0]["@list"] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array) {
32988
+ if (v == null) continue;
32989
+ const decoded = parseGatewayUrl(typeof v["@id"] === "string" ? v["@id"] : v["@value"]);
32990
+ if (typeof decoded === "undefined") continue;
32991
+ _hQiaHhZP8hqxckxTBrpsGNs57E3.push(decoded);
32992
+ }
32993
+ instance.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = _hQiaHhZP8hqxckxTBrpsGNs57E3;
32780
32994
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
32781
32995
  let _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array = values["https://www.w3.org/ns/activitystreams#manuallyApprovesFollowers"];
32782
32996
  for (const v of _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array == null ? [] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array.length === 1 && "@list" in _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0] ? _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0]["@list"] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array) {
@@ -33118,6 +33332,12 @@ var Group = class Group extends Object$1 {
33118
33332
  } : v);
33119
33333
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length == 1) proxy.assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod[0];
33120
33334
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 1 || !("assertionMethod" in proxy) && _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 0) proxy.assertionMethods = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
33335
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.map((v) => v instanceof URL ? {
33336
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
33337
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
33338
+ } : v);
33339
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length == 1) proxy.gateway = _hQiaHhZP8hqxckxTBrpsGNs57E3[0];
33340
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length > 1 || !("gateway" in proxy) && _hQiaHhZP8hqxckxTBrpsGNs57E3.length > 0) proxy.gateways = _hQiaHhZP8hqxckxTBrpsGNs57E3;
33121
33341
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers.map((v) => v instanceof URL ? {
33122
33342
  [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
33123
33343
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
@@ -33276,6 +33496,7 @@ var Link = class Link {
33276
33496
  #_pVjLsybKQdmkjuU7MHjiVmNnuj7_href = [];
33277
33497
  #_2a1c5GkfkQsnyyLybF8UXBQfFuHZ_rel = [];
33278
33498
  #_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType = [];
33499
+ #_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [];
33279
33500
  #_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = [];
33280
33501
  #_f57HKWCp1YRBbTJE8PF12RbDJGf_hreflang = [];
33281
33502
  #_2cGKFeFJMmiNpGZFEF75mCwFQsKb_height = [];
@@ -33307,6 +33528,8 @@ var Link = class Link {
33307
33528
  }
33308
33529
  if ("mediaType" in values && values.mediaType != null) if (typeof values.mediaType === "string") this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType = [values.mediaType];
33309
33530
  else throw new TypeError("The mediaType must be of type string.");
33531
+ if ("digestMultibase" in values && values.digestMultibase != null) if (typeof values.digestMultibase === "string") this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [values.digestMultibase];
33532
+ else throw new TypeError("The digestMultibase must be of type string.");
33310
33533
  if ("name" in values && values.name != null) if (typeof values.name === "string" || values.name instanceof LanguageString) this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = [values.name];
33311
33534
  else throw new TypeError("The name must be of type string | LanguageString.");
33312
33535
  if ("names" in values && values.names != null) {
@@ -33354,6 +33577,9 @@ var Link = class Link {
33354
33577
  clone.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType = this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType;
33355
33578
  if ("mediaType" in values && values.mediaType != null) if (typeof values.mediaType === "string") clone.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType = [values.mediaType];
33356
33579
  else throw new TypeError("The mediaType must be of type string.");
33580
+ clone.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase;
33581
+ if ("digestMultibase" in values && values.digestMultibase != null) if (typeof values.digestMultibase === "string") clone.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [values.digestMultibase];
33582
+ else throw new TypeError("The digestMultibase must be of type string.");
33357
33583
  clone.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name;
33358
33584
  if ("name" in values && values.name != null) if (typeof values.name === "string" || values.name instanceof LanguageString) clone.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = [values.name];
33359
33585
  else throw new TypeError("The name must be of type string | LanguageString.");
@@ -33417,6 +33643,15 @@ var Link = class Link {
33417
33643
  if (this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType.length < 1) return null;
33418
33644
  return this.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType[0];
33419
33645
  }
33646
+ /** The multibase-encoded integrity digest of the linked resource.
33647
+ *
33648
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
33649
+ */
33650
+ get digestMultibase() {
33651
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
33652
+ if (this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.length < 1) return null;
33653
+ return this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase[0];
33654
+ }
33420
33655
  /** A simple, human-readable, plain-text name for the object. HTML markup MUST
33421
33656
  * NOT be included. The name MAY be expressed using multiple language-tagged
33422
33657
  * values.
@@ -33629,6 +33864,12 @@ var Link = class Link {
33629
33864
  }
33630
33865
  if (compactItems.length > 0) result["mediaType"] = compactItems.length > 1 ? compactItems : compactItems[0];
33631
33866
  compactItems = [];
33867
+ for (const v of this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase) {
33868
+ const item = v;
33869
+ compactItems.push(item);
33870
+ }
33871
+ if (compactItems.length > 0) result["digestMultibase"] = compactItems.length > 1 ? compactItems : compactItems[0];
33872
+ compactItems = [];
33632
33873
  for (const v of this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name) {
33633
33874
  const item = typeof v === "string" ? v : {
33634
33875
  "@value": v.toString(),
@@ -33671,7 +33912,7 @@ var Link = class Link {
33671
33912
  if (compactItems.length > 0) result["preview"] = compactItems.length > 1 ? compactItems : compactItems[0];
33672
33913
  result["type"] = "Link";
33673
33914
  if (this.id != null) result["id"] = formatIri(this.id);
33674
- result["@context"] = "https://www.w3.org/ns/activitystreams";
33915
+ result["@context"] = ["https://www.w3.org/ns/activitystreams", "https://w3id.org/fep/ef61"];
33675
33916
  return result;
33676
33917
  }
33677
33918
  let array;
@@ -33695,6 +33936,12 @@ var Link = class Link {
33695
33936
  }
33696
33937
  if (array.length > 0) values["https://www.w3.org/ns/activitystreams#mediaType"] = array;
33697
33938
  array = [];
33939
+ for (const v of this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase) {
33940
+ const element = { "@value": v };
33941
+ array.push(element);
33942
+ }
33943
+ if (array.length > 0) values["https://www.w3.org/ns/credentials/v2#digestMultibase"] = array;
33944
+ array = [];
33698
33945
  for (const v of this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name) {
33699
33946
  const element = typeof v === "string" ? { "@value": v } : {
33700
33947
  "@value": v.toString(),
@@ -33736,7 +33983,7 @@ var Link = class Link {
33736
33983
  values["@type"] = ["https://www.w3.org/ns/activitystreams#Link"];
33737
33984
  if (this.id != null) values["@id"] = formatIri(this.id);
33738
33985
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
33739
- const docContext = options.context ?? "https://www.w3.org/ns/activitystreams";
33986
+ const docContext = options.context ?? ["https://www.w3.org/ns/activitystreams", "https://w3id.org/fep/ef61"];
33740
33987
  const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
33741
33988
  if (docContext != null) {}
33742
33989
  return compacted;
@@ -33835,6 +34082,15 @@ var Link = class Link {
33835
34082
  _3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType.push(decoded);
33836
34083
  }
33837
34084
  instance.#_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType = _3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType;
34085
+ const _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = [];
34086
+ let _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array = values["https://www.w3.org/ns/credentials/v2#digestMultibase"];
34087
+ for (const v of _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array == null ? [] : _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array.length === 1 && "@list" in _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array[0] ? _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array[0]["@list"] : _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase__array) {
34088
+ if (v == null) continue;
34089
+ const decoded = v["@value"];
34090
+ if (typeof decoded === "undefined") continue;
34091
+ _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.push(decoded);
34092
+ }
34093
+ instance.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase;
33838
34094
  const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = [];
33839
34095
  let _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array = values["https://www.w3.org/ns/activitystreams#name"];
33840
34096
  for (const v of _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array == null ? [] : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array.length === 1 && "@list" in _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0] ? _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array[0]["@list"] : _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name__array) {
@@ -33999,6 +34255,11 @@ var Link = class Link {
33999
34255
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
34000
34256
  } : v);
34001
34257
  if (_3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType.length == 1) proxy.mediaType = _3BLrzmscsjHCw8TF5BHRW9WkPnX8_mediaType[0];
34258
+ const _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase = this.#_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.map((v) => v instanceof URL ? {
34259
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
34260
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
34261
+ } : v);
34262
+ if (_2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase.length == 1) proxy.digestMultibase = _2ydcBe182LRq82jFGE6Rxw6VfvEM_digestMultibase[0];
34002
34263
  const _4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name = this.#_4ZHbBuK7PrsvGgrjM8wgc6KMWjav_name.map((v) => v instanceof URL ? {
34003
34264
  [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
34004
34265
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
@@ -34261,7 +34522,8 @@ var Image = class Image extends Document {
34261
34522
  if (this.id != null) result["id"] = formatIri(this.id);
34262
34523
  result["@context"] = [
34263
34524
  "https://www.w3.org/ns/activitystreams",
34264
- "https://w3id.org/security/data-integrity/v1",
34525
+ "https://w3id.org/security/data-integrity/v2",
34526
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
34265
34527
  "https://gotosocial.org/ns"
34266
34528
  ];
34267
34529
  return result;
@@ -34276,7 +34538,8 @@ var Image = class Image extends Document {
34276
34538
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
34277
34539
  const docContext = options.context ?? [
34278
34540
  "https://www.w3.org/ns/activitystreams",
34279
- "https://w3id.org/security/data-integrity/v1",
34541
+ "https://w3id.org/security/data-integrity/v2",
34542
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
34280
34543
  "https://gotosocial.org/ns"
34281
34544
  ];
34282
34545
  const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
@@ -36887,6 +37150,7 @@ var Organization = class Organization extends Object$1 {
36887
37150
  #_trust_axq166E2eZADq34V4MYUc8KMZdC_publicKey = /* @__PURE__ */ new Set();
36888
37151
  #_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = [];
36889
37152
  #_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = /* @__PURE__ */ new Set();
37153
+ #_hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
36890
37154
  #_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
36891
37155
  #_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = [];
36892
37156
  #_trust_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = /* @__PURE__ */ new Set();
@@ -36955,6 +37219,13 @@ var Organization = class Organization extends Object$1 {
36955
37219
  for (let i = 0; i < values.assertionMethods.length; i++) this.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
36956
37220
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
36957
37221
  }
37222
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
37223
+ else throw new TypeError("The gateway must be of type URL.");
37224
+ if ("gateways" in values && values.gateways != null) {
37225
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot initialize both gateway and gateways at the same time.");
37226
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
37227
+ else throw new TypeError("The gateways must be an array of type URL.");
37228
+ }
36958
37229
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
36959
37230
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
36960
37231
  if ("inbox" in values && values.inbox != null) if (values.inbox instanceof OrderedCollection || values.inbox instanceof OrderedCollectionPage || values.inbox instanceof URL) {
@@ -37085,6 +37356,14 @@ var Organization = class Organization extends Object$1 {
37085
37356
  for (let i = 0; i < values.assertionMethods.length; i++) clone.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
37086
37357
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
37087
37358
  }
37359
+ clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
37360
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
37361
+ else throw new TypeError("The gateway must be of type URL.");
37362
+ if ("gateways" in values && values.gateways != null) {
37363
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot update both gateway and gateways at the same time.");
37364
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
37365
+ else throw new TypeError("The gateways must be an array of type URL.");
37366
+ }
37088
37367
  clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers;
37089
37368
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
37090
37369
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
@@ -37558,6 +37837,24 @@ var Organization = class Organization extends Object$1 {
37558
37837
  yield v;
37559
37838
  }
37560
37839
  }
37840
+ /** Gateways where the latest version of this portable actor object can be
37841
+ * retrieved.
37842
+ *
37843
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
37844
+ */
37845
+ get gateway() {
37846
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
37847
+ if (this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.length < 1) return null;
37848
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3[0];
37849
+ }
37850
+ /** Gateways where the latest version of this portable actor object can be
37851
+ * retrieved.
37852
+ *
37853
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
37854
+ */
37855
+ get gateways() {
37856
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
37857
+ }
37561
37858
  /** When `true`, conveys that for this actor, follow requests are not usually
37562
37859
  * automatically approved, but instead are examined by a person who may accept
37563
37860
  * or reject the request, at some time in the future. Setting of `false`
@@ -39427,6 +39724,12 @@ var Organization = class Organization extends Object$1 {
39427
39724
  }
39428
39725
  if (compactItems.length > 0) result["assertionMethod"] = compactItems.length > 1 ? compactItems : compactItems[0];
39429
39726
  compactItems = [];
39727
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
39728
+ const item = formatIri(v);
39729
+ compactItems.push(item);
39730
+ }
39731
+ if (compactItems.length > 0) result["gateways"] = compactItems;
39732
+ compactItems = [];
39430
39733
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
39431
39734
  const item = v;
39432
39735
  compactItems.push(item);
@@ -39642,6 +39945,7 @@ var Organization = class Organization extends Object$1 {
39642
39945
  if (this.id != null) result["id"] = formatIri(this.id);
39643
39946
  result["@context"] = [
39644
39947
  "https://www.w3.org/ns/activitystreams",
39948
+ "https://w3id.org/fep/ef61",
39645
39949
  "https://w3id.org/security/v1",
39646
39950
  "https://w3id.org/security/data-integrity/v1",
39647
39951
  "https://www.w3.org/ns/did/v1",
@@ -39714,6 +40018,12 @@ var Organization = class Organization extends Object$1 {
39714
40018
  }
39715
40019
  if (array.length > 0) values["https://w3id.org/security#assertionMethod"] = array;
39716
40020
  array = [];
40021
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
40022
+ const element = { "@id": formatIri(v) };
40023
+ array.push(element);
40024
+ }
40025
+ if (array.length > 0) values["https://w3id.org/fep/ef61/gateways"] = { "@list": array };
40026
+ array = [];
39717
40027
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
39718
40028
  const element = { "@value": v };
39719
40029
  array.push(element);
@@ -39838,6 +40148,7 @@ var Organization = class Organization extends Object$1 {
39838
40148
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
39839
40149
  const docContext = options.context ?? [
39840
40150
  "https://www.w3.org/ns/activitystreams",
40151
+ "https://w3id.org/fep/ef61",
39841
40152
  "https://w3id.org/security/v1",
39842
40153
  "https://w3id.org/security/data-integrity/v1",
39843
40154
  "https://www.w3.org/ns/did/v1",
@@ -40001,6 +40312,15 @@ var Organization = class Organization extends Object$1 {
40001
40312
  _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.push(decoded);
40002
40313
  }
40003
40314
  instance.#_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
40315
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
40316
+ let _hQiaHhZP8hqxckxTBrpsGNs57E3__array = values["https://w3id.org/fep/ef61/gateways"];
40317
+ for (const v of _hQiaHhZP8hqxckxTBrpsGNs57E3__array == null ? [] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array.length === 1 && "@list" in _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0] ? _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0]["@list"] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array) {
40318
+ if (v == null) continue;
40319
+ const decoded = parseGatewayUrl(typeof v["@id"] === "string" ? v["@id"] : v["@value"]);
40320
+ if (typeof decoded === "undefined") continue;
40321
+ _hQiaHhZP8hqxckxTBrpsGNs57E3.push(decoded);
40322
+ }
40323
+ instance.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = _hQiaHhZP8hqxckxTBrpsGNs57E3;
40004
40324
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
40005
40325
  let _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array = values["https://www.w3.org/ns/activitystreams#manuallyApprovesFollowers"];
40006
40326
  for (const v of _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array == null ? [] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array.length === 1 && "@list" in _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0] ? _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0]["@list"] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array) {
@@ -40342,6 +40662,12 @@ var Organization = class Organization extends Object$1 {
40342
40662
  } : v);
40343
40663
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length == 1) proxy.assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod[0];
40344
40664
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 1 || !("assertionMethod" in proxy) && _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 0) proxy.assertionMethods = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
40665
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.map((v) => v instanceof URL ? {
40666
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
40667
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
40668
+ } : v);
40669
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length == 1) proxy.gateway = _hQiaHhZP8hqxckxTBrpsGNs57E3[0];
40670
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length > 1 || !("gateway" in proxy) && _hQiaHhZP8hqxckxTBrpsGNs57E3.length > 0) proxy.gateways = _hQiaHhZP8hqxckxTBrpsGNs57E3;
40345
40671
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers.map((v) => v instanceof URL ? {
40346
40672
  [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
40347
40673
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
@@ -40513,7 +40839,8 @@ var Page = class Page extends Document {
40513
40839
  if (this.id != null) result["id"] = formatIri(this.id);
40514
40840
  result["@context"] = [
40515
40841
  "https://www.w3.org/ns/activitystreams",
40516
- "https://w3id.org/security/data-integrity/v1",
40842
+ "https://w3id.org/security/data-integrity/v2",
40843
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
40517
40844
  "https://gotosocial.org/ns"
40518
40845
  ];
40519
40846
  return result;
@@ -40528,7 +40855,8 @@ var Page = class Page extends Document {
40528
40855
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
40529
40856
  const docContext = options.context ?? [
40530
40857
  "https://www.w3.org/ns/activitystreams",
40531
- "https://w3id.org/security/data-integrity/v1",
40858
+ "https://w3id.org/security/data-integrity/v2",
40859
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
40532
40860
  "https://gotosocial.org/ns"
40533
40861
  ];
40534
40862
  const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
@@ -40643,6 +40971,7 @@ var Person = class Person extends Object$1 {
40643
40971
  #_trust_axq166E2eZADq34V4MYUc8KMZdC_publicKey = /* @__PURE__ */ new Set();
40644
40972
  #_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = [];
40645
40973
  #_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = /* @__PURE__ */ new Set();
40974
+ #_hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
40646
40975
  #_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
40647
40976
  #_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = [];
40648
40977
  #_trust_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = /* @__PURE__ */ new Set();
@@ -40711,6 +41040,13 @@ var Person = class Person extends Object$1 {
40711
41040
  for (let i = 0; i < values.assertionMethods.length; i++) this.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
40712
41041
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
40713
41042
  }
41043
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
41044
+ else throw new TypeError("The gateway must be of type URL.");
41045
+ if ("gateways" in values && values.gateways != null) {
41046
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot initialize both gateway and gateways at the same time.");
41047
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
41048
+ else throw new TypeError("The gateways must be an array of type URL.");
41049
+ }
40714
41050
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
40715
41051
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
40716
41052
  if ("inbox" in values && values.inbox != null) if (values.inbox instanceof OrderedCollection || values.inbox instanceof OrderedCollectionPage || values.inbox instanceof URL) {
@@ -40841,6 +41177,14 @@ var Person = class Person extends Object$1 {
40841
41177
  for (let i = 0; i < values.assertionMethods.length; i++) clone.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
40842
41178
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
40843
41179
  }
41180
+ clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
41181
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
41182
+ else throw new TypeError("The gateway must be of type URL.");
41183
+ if ("gateways" in values && values.gateways != null) {
41184
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot update both gateway and gateways at the same time.");
41185
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
41186
+ else throw new TypeError("The gateways must be an array of type URL.");
41187
+ }
40844
41188
  clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers;
40845
41189
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
40846
41190
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
@@ -41314,6 +41658,24 @@ var Person = class Person extends Object$1 {
41314
41658
  yield v;
41315
41659
  }
41316
41660
  }
41661
+ /** Gateways where the latest version of this portable actor object can be
41662
+ * retrieved.
41663
+ *
41664
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
41665
+ */
41666
+ get gateway() {
41667
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
41668
+ if (this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.length < 1) return null;
41669
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3[0];
41670
+ }
41671
+ /** Gateways where the latest version of this portable actor object can be
41672
+ * retrieved.
41673
+ *
41674
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
41675
+ */
41676
+ get gateways() {
41677
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
41678
+ }
41317
41679
  /** When `true`, conveys that for this actor, follow requests are not usually
41318
41680
  * automatically approved, but instead are examined by a person who may accept
41319
41681
  * or reject the request, at some time in the future. Setting of `false`
@@ -43183,6 +43545,12 @@ var Person = class Person extends Object$1 {
43183
43545
  }
43184
43546
  if (compactItems.length > 0) result["assertionMethod"] = compactItems.length > 1 ? compactItems : compactItems[0];
43185
43547
  compactItems = [];
43548
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
43549
+ const item = formatIri(v);
43550
+ compactItems.push(item);
43551
+ }
43552
+ if (compactItems.length > 0) result["gateways"] = compactItems;
43553
+ compactItems = [];
43186
43554
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
43187
43555
  const item = v;
43188
43556
  compactItems.push(item);
@@ -43398,6 +43766,7 @@ var Person = class Person extends Object$1 {
43398
43766
  if (this.id != null) result["id"] = formatIri(this.id);
43399
43767
  result["@context"] = [
43400
43768
  "https://www.w3.org/ns/activitystreams",
43769
+ "https://w3id.org/fep/ef61",
43401
43770
  "https://w3id.org/security/v1",
43402
43771
  "https://w3id.org/security/data-integrity/v1",
43403
43772
  "https://www.w3.org/ns/did/v1",
@@ -43470,6 +43839,12 @@ var Person = class Person extends Object$1 {
43470
43839
  }
43471
43840
  if (array.length > 0) values["https://w3id.org/security#assertionMethod"] = array;
43472
43841
  array = [];
43842
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
43843
+ const element = { "@id": formatIri(v) };
43844
+ array.push(element);
43845
+ }
43846
+ if (array.length > 0) values["https://w3id.org/fep/ef61/gateways"] = { "@list": array };
43847
+ array = [];
43473
43848
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
43474
43849
  const element = { "@value": v };
43475
43850
  array.push(element);
@@ -43594,6 +43969,7 @@ var Person = class Person extends Object$1 {
43594
43969
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
43595
43970
  const docContext = options.context ?? [
43596
43971
  "https://www.w3.org/ns/activitystreams",
43972
+ "https://w3id.org/fep/ef61",
43597
43973
  "https://w3id.org/security/v1",
43598
43974
  "https://w3id.org/security/data-integrity/v1",
43599
43975
  "https://www.w3.org/ns/did/v1",
@@ -43757,6 +44133,15 @@ var Person = class Person extends Object$1 {
43757
44133
  _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.push(decoded);
43758
44134
  }
43759
44135
  instance.#_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
44136
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
44137
+ let _hQiaHhZP8hqxckxTBrpsGNs57E3__array = values["https://w3id.org/fep/ef61/gateways"];
44138
+ for (const v of _hQiaHhZP8hqxckxTBrpsGNs57E3__array == null ? [] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array.length === 1 && "@list" in _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0] ? _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0]["@list"] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array) {
44139
+ if (v == null) continue;
44140
+ const decoded = parseGatewayUrl(typeof v["@id"] === "string" ? v["@id"] : v["@value"]);
44141
+ if (typeof decoded === "undefined") continue;
44142
+ _hQiaHhZP8hqxckxTBrpsGNs57E3.push(decoded);
44143
+ }
44144
+ instance.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = _hQiaHhZP8hqxckxTBrpsGNs57E3;
43760
44145
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
43761
44146
  let _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array = values["https://www.w3.org/ns/activitystreams#manuallyApprovesFollowers"];
43762
44147
  for (const v of _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array == null ? [] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array.length === 1 && "@list" in _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0] ? _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0]["@list"] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array) {
@@ -44098,6 +44483,12 @@ var Person = class Person extends Object$1 {
44098
44483
  } : v);
44099
44484
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length == 1) proxy.assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod[0];
44100
44485
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 1 || !("assertionMethod" in proxy) && _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 0) proxy.assertionMethods = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
44486
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.map((v) => v instanceof URL ? {
44487
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
44488
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
44489
+ } : v);
44490
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length == 1) proxy.gateway = _hQiaHhZP8hqxckxTBrpsGNs57E3[0];
44491
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length > 1 || !("gateway" in proxy) && _hQiaHhZP8hqxckxTBrpsGNs57E3.length > 0) proxy.gateways = _hQiaHhZP8hqxckxTBrpsGNs57E3;
44101
44492
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers.map((v) => v instanceof URL ? {
44102
44493
  [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
44103
44494
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
@@ -47332,6 +47723,7 @@ var Service = class Service extends Object$1 {
47332
47723
  #_trust_axq166E2eZADq34V4MYUc8KMZdC_publicKey = /* @__PURE__ */ new Set();
47333
47724
  #_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = [];
47334
47725
  #_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = /* @__PURE__ */ new Set();
47726
+ #_hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
47335
47727
  #_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
47336
47728
  #_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = [];
47337
47729
  #_trust_3ghX3VfZXXbLvhCRH7QJqpzLrXjB_inbox = /* @__PURE__ */ new Set();
@@ -47400,6 +47792,13 @@ var Service = class Service extends Object$1 {
47400
47792
  for (let i = 0; i < values.assertionMethods.length; i++) this.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
47401
47793
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
47402
47794
  }
47795
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
47796
+ else throw new TypeError("The gateway must be of type URL.");
47797
+ if ("gateways" in values && values.gateways != null) {
47798
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot initialize both gateway and gateways at the same time.");
47799
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) this.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
47800
+ else throw new TypeError("The gateways must be an array of type URL.");
47801
+ }
47403
47802
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
47404
47803
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
47405
47804
  if ("inbox" in values && values.inbox != null) if (values.inbox instanceof OrderedCollection || values.inbox instanceof OrderedCollectionPage || values.inbox instanceof URL) {
@@ -47530,6 +47929,14 @@ var Service = class Service extends Object$1 {
47530
47929
  for (let i = 0; i < values.assertionMethods.length; i++) clone.#_trust_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.add(i);
47531
47930
  } else throw new TypeError("The assertionMethods must be an array of type Multikey | URL.");
47532
47931
  }
47932
+ clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
47933
+ if ("gateway" in values && values.gateway != null) if (values.gateway instanceof URL && isGatewayUrl(values.gateway)) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = [values.gateway];
47934
+ else throw new TypeError("The gateway must be of type URL.");
47935
+ if ("gateways" in values && values.gateways != null) {
47936
+ if ("gateway" in values && values.gateway != null) throw new TypeError("Cannot update both gateway and gateways at the same time.");
47937
+ if (Array.isArray(values.gateways) && values.gateways.every((v) => v instanceof URL && isGatewayUrl(v))) clone.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = values.gateways;
47938
+ else throw new TypeError("The gateways must be an array of type URL.");
47939
+ }
47533
47940
  clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers;
47534
47941
  if ("manuallyApprovesFollowers" in values && values.manuallyApprovesFollowers != null) if (typeof values.manuallyApprovesFollowers === "boolean") clone.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [values.manuallyApprovesFollowers];
47535
47942
  else throw new TypeError("The manuallyApprovesFollowers must be of type boolean.");
@@ -48003,6 +48410,24 @@ var Service = class Service extends Object$1 {
48003
48410
  yield v;
48004
48411
  }
48005
48412
  }
48413
+ /** Gateways where the latest version of this portable actor object can be
48414
+ * retrieved.
48415
+ *
48416
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
48417
+ */
48418
+ get gateway() {
48419
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
48420
+ if (this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.length < 1) return null;
48421
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3[0];
48422
+ }
48423
+ /** Gateways where the latest version of this portable actor object can be
48424
+ * retrieved.
48425
+ *
48426
+ * See [FEP-ef61](https://w3id.org/fep/ef61) for details.
48427
+ */
48428
+ get gateways() {
48429
+ return this.#_hQiaHhZP8hqxckxTBrpsGNs57E3;
48430
+ }
48006
48431
  /** When `true`, conveys that for this actor, follow requests are not usually
48007
48432
  * automatically approved, but instead are examined by a person who may accept
48008
48433
  * or reject the request, at some time in the future. Setting of `false`
@@ -49872,6 +50297,12 @@ var Service = class Service extends Object$1 {
49872
50297
  }
49873
50298
  if (compactItems.length > 0) result["assertionMethod"] = compactItems.length > 1 ? compactItems : compactItems[0];
49874
50299
  compactItems = [];
50300
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
50301
+ const item = formatIri(v);
50302
+ compactItems.push(item);
50303
+ }
50304
+ if (compactItems.length > 0) result["gateways"] = compactItems;
50305
+ compactItems = [];
49875
50306
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
49876
50307
  const item = v;
49877
50308
  compactItems.push(item);
@@ -50087,6 +50518,7 @@ var Service = class Service extends Object$1 {
50087
50518
  if (this.id != null) result["id"] = formatIri(this.id);
50088
50519
  result["@context"] = [
50089
50520
  "https://www.w3.org/ns/activitystreams",
50521
+ "https://w3id.org/fep/ef61",
50090
50522
  "https://w3id.org/security/v1",
50091
50523
  "https://w3id.org/security/data-integrity/v1",
50092
50524
  "https://www.w3.org/ns/did/v1",
@@ -50159,6 +50591,12 @@ var Service = class Service extends Object$1 {
50159
50591
  }
50160
50592
  if (array.length > 0) values["https://w3id.org/security#assertionMethod"] = array;
50161
50593
  array = [];
50594
+ for (const v of this.#_hQiaHhZP8hqxckxTBrpsGNs57E3) {
50595
+ const element = { "@id": formatIri(v) };
50596
+ array.push(element);
50597
+ }
50598
+ if (array.length > 0) values["https://w3id.org/fep/ef61/gateways"] = { "@list": array };
50599
+ array = [];
50162
50600
  for (const v of this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers) {
50163
50601
  const element = { "@value": v };
50164
50602
  array.push(element);
@@ -50283,6 +50721,7 @@ var Service = class Service extends Object$1 {
50283
50721
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
50284
50722
  const docContext = options.context ?? [
50285
50723
  "https://www.w3.org/ns/activitystreams",
50724
+ "https://w3id.org/fep/ef61",
50286
50725
  "https://w3id.org/security/v1",
50287
50726
  "https://w3id.org/security/data-integrity/v1",
50288
50727
  "https://www.w3.org/ns/did/v1",
@@ -50446,6 +50885,15 @@ var Service = class Service extends Object$1 {
50446
50885
  _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.push(decoded);
50447
50886
  }
50448
50887
  instance.#_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
50888
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = [];
50889
+ let _hQiaHhZP8hqxckxTBrpsGNs57E3__array = values["https://w3id.org/fep/ef61/gateways"];
50890
+ for (const v of _hQiaHhZP8hqxckxTBrpsGNs57E3__array == null ? [] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array.length === 1 && "@list" in _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0] ? _hQiaHhZP8hqxckxTBrpsGNs57E3__array[0]["@list"] : _hQiaHhZP8hqxckxTBrpsGNs57E3__array) {
50891
+ if (v == null) continue;
50892
+ const decoded = parseGatewayUrl(typeof v["@id"] === "string" ? v["@id"] : v["@value"]);
50893
+ if (typeof decoded === "undefined") continue;
50894
+ _hQiaHhZP8hqxckxTBrpsGNs57E3.push(decoded);
50895
+ }
50896
+ instance.#_hQiaHhZP8hqxckxTBrpsGNs57E3 = _hQiaHhZP8hqxckxTBrpsGNs57E3;
50449
50897
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = [];
50450
50898
  let _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array = values["https://www.w3.org/ns/activitystreams#manuallyApprovesFollowers"];
50451
50899
  for (const v of _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array == null ? [] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array.length === 1 && "@list" in _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0] ? _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array[0]["@list"] : _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers__array) {
@@ -50787,6 +51235,12 @@ var Service = class Service extends Object$1 {
50787
51235
  } : v);
50788
51236
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length == 1) proxy.assertionMethod = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod[0];
50789
51237
  if (_4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 1 || !("assertionMethod" in proxy) && _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod.length > 0) proxy.assertionMethods = _4EHQFWZSz1k1d4LmPrQiMba2GbP3_assertionMethod;
51238
+ const _hQiaHhZP8hqxckxTBrpsGNs57E3 = this.#_hQiaHhZP8hqxckxTBrpsGNs57E3.map((v) => v instanceof URL ? {
51239
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
51240
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
51241
+ } : v);
51242
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length == 1) proxy.gateway = _hQiaHhZP8hqxckxTBrpsGNs57E3[0];
51243
+ if (_hQiaHhZP8hqxckxTBrpsGNs57E3.length > 1 || !("gateway" in proxy) && _hQiaHhZP8hqxckxTBrpsGNs57E3.length > 0) proxy.gateways = _hQiaHhZP8hqxckxTBrpsGNs57E3;
50790
51244
  const _36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers = this.#_36QNc9MxfkKf6h8sEUQSHnV9NZA_manuallyApprovesFollowers.map((v) => v instanceof URL ? {
50791
51245
  [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
50792
51246
  [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
@@ -52431,7 +52885,8 @@ var Video = class Video extends Document {
52431
52885
  if (this.id != null) result["id"] = formatIri(this.id);
52432
52886
  result["@context"] = [
52433
52887
  "https://www.w3.org/ns/activitystreams",
52434
- "https://w3id.org/security/data-integrity/v1",
52888
+ "https://w3id.org/security/data-integrity/v2",
52889
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
52435
52890
  "https://gotosocial.org/ns"
52436
52891
  ];
52437
52892
  return result;
@@ -52446,7 +52901,8 @@ var Video = class Video extends Document {
52446
52901
  if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
52447
52902
  const docContext = options.context ?? [
52448
52903
  "https://www.w3.org/ns/activitystreams",
52449
- "https://w3id.org/security/data-integrity/v1",
52904
+ "https://w3id.org/security/data-integrity/v2",
52905
+ { "digestMultibase": "https://www.w3.org/ns/credentials/v2#digestMultibase" },
52450
52906
  "https://gotosocial.org/ns"
52451
52907
  ];
52452
52908
  const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
@@ -52874,4 +53330,4 @@ function getEntityTypeById(id) {
52874
53330
  return entityTypeIds.get(typeof id === "string" ? id : id?.href);
52875
53331
  }
52876
53332
  //#endregion
52877
- export { Person as A, getEntityTypeById as B, Link as C, Offer as D, Object$1 as E, QuoteRequest as F, __toESM as G, vocab_exports as H, Reject as I, Service as L, Proposal as M, Question as N, OrderedCollectionPage as O, QuoteAuthorization as P, Source as R, InteractionRule as S, Note as T, __commonJSMin as U, isEntityType as V, __exportAll as W, Follow as _, Application as a, Intent as b, Create as c, Document as d, Endpoints as f, FeaturedItem as g, FeaturedCollection as h, Announce as i, Place as j, Organization as k, CryptographicKey as l, FeatureRequest as m, Activity as n, Collection as o, FeatureAuthorization as p, Agreement as r, Commitment as s, Accept as t, Delete as u, Group as v, Measure as w, InteractionPolicy as x, Hashtag as y, Tombstone as z };
53333
+ export { OrderedCollectionPage as A, Source as B, InteractionRule as C, Note as D, Multikey as E, Question as F, __commonJSMin as G, getEntityTypeById as H, QuoteAuthorization as I, __exportAll as K, QuoteRequest as L, Person as M, Place as N, Object$1 as O, Proposal as P, Reject as R, InteractionPolicy as S, Measure as T, isEntityType as U, Tombstone as V, vocab_exports as W, Follow as _, Application as a, Image as b, Create as c, Document as d, Endpoints as f, FeaturedItem as g, FeaturedCollection as h, Announce as i, Organization as j, Offer as k, CryptographicKey as l, FeatureRequest as m, Activity as n, Collection as o, FeatureAuthorization as p, __toESM as q, Agreement as r, Commitment as s, Accept as t, Delete as u, Group as v, Link as w, Intent as x, Hashtag as y, Service as z };