@fedify/vocab 2.3.0-dev.1372 → 2.3.0-dev.1404

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.
@@ -74,6 +74,7 @@ var vocab_exports = /* @__PURE__ */ __exportAll({
74
74
  Accept: () => Accept,
75
75
  Activity: () => Activity,
76
76
  Add: () => Add,
77
+ Agreement: () => Agreement,
77
78
  Announce: () => Announce,
78
79
  AnnounceAuthorization: () => AnnounceAuthorization,
79
80
  AnnounceRequest: () => AnnounceRequest,
@@ -85,6 +86,7 @@ var vocab_exports = /* @__PURE__ */ __exportAll({
85
86
  ChatMessage: () => ChatMessage,
86
87
  Collection: () => Collection,
87
88
  CollectionPage: () => CollectionPage,
89
+ Commitment: () => Commitment,
88
90
  Create: () => Create,
89
91
  CryptographicKey: () => CryptographicKey,
90
92
  DataIntegrityProof: () => DataIntegrityProof,
@@ -5309,6 +5311,7 @@ var Object$1 = class Object$1 {
5309
5311
  if (values["@type"].includes("https://gotosocial.org/ns#LikeApproval")) return await LikeAuthorization.fromJsonLd(json, options);
5310
5312
  if (values["@type"].includes("https://gotosocial.org/ns#ReplyAuthorization")) return await ReplyAuthorization.fromJsonLd(json, options);
5311
5313
  if (values["@type"].includes("https://w3id.org/fep/044f#QuoteAuthorization")) return await QuoteAuthorization.fromJsonLd(json, options);
5314
+ if (values["@type"].includes("https://w3id.org/valueflows/ont/vf#Agreement")) return await Agreement.fromJsonLd(json, options);
5312
5315
  if (values["@type"].includes("https://w3id.org/valueflows/ont/vf#Proposal")) return await Proposal.fromJsonLd(json, options);
5313
5316
  if (values["@type"].includes("https://www.w3.org/ns/activitystreams#Activity")) return await Activity.fromJsonLd(json, options);
5314
5317
  if (values["@type"].includes("http://litepub.social/ns#EmojiReact")) return await EmojiReact.fromJsonLd(json, options);
@@ -5386,6 +5389,7 @@ var Object$1 = class Object$1 {
5386
5389
  "https://gotosocial.org/ns#LikeApproval",
5387
5390
  "https://gotosocial.org/ns#ReplyAuthorization",
5388
5391
  "https://w3id.org/fep/044f#QuoteAuthorization",
5392
+ "https://w3id.org/valueflows/ont/vf#Agreement",
5389
5393
  "https://w3id.org/valueflows/ont/vf#Proposal",
5390
5394
  "https://www.w3.org/ns/activitystreams#Activity",
5391
5395
  "http://litepub.social/ns#EmojiReact",
@@ -5533,6 +5537,7 @@ var Object$1 = class Object$1 {
5533
5537
  "https://gotosocial.org/ns#LikeApproval",
5534
5538
  "https://gotosocial.org/ns#ReplyAuthorization",
5535
5539
  "https://w3id.org/fep/044f#QuoteAuthorization",
5540
+ "https://w3id.org/valueflows/ont/vf#Agreement",
5536
5541
  "https://w3id.org/valueflows/ont/vf#Proposal",
5537
5542
  "https://www.w3.org/ns/activitystreams#Activity",
5538
5543
  "http://litepub.social/ns#EmojiReact",
@@ -5640,6 +5645,7 @@ var Object$1 = class Object$1 {
5640
5645
  "https://gotosocial.org/ns#LikeApproval",
5641
5646
  "https://gotosocial.org/ns#ReplyAuthorization",
5642
5647
  "https://w3id.org/fep/044f#QuoteAuthorization",
5648
+ "https://w3id.org/valueflows/ont/vf#Agreement",
5643
5649
  "https://w3id.org/valueflows/ont/vf#Proposal",
5644
5650
  "https://www.w3.org/ns/activitystreams#Activity",
5645
5651
  "http://litepub.social/ns#EmojiReact",
@@ -5797,6 +5803,7 @@ var Object$1 = class Object$1 {
5797
5803
  "https://gotosocial.org/ns#LikeApproval",
5798
5804
  "https://gotosocial.org/ns#ReplyAuthorization",
5799
5805
  "https://w3id.org/fep/044f#QuoteAuthorization",
5806
+ "https://w3id.org/valueflows/ont/vf#Agreement",
5800
5807
  "https://w3id.org/valueflows/ont/vf#Proposal",
5801
5808
  "https://www.w3.org/ns/activitystreams#Activity",
5802
5809
  "http://litepub.social/ns#EmojiReact",
@@ -5886,6 +5893,7 @@ var Object$1 = class Object$1 {
5886
5893
  "https://gotosocial.org/ns#LikeApproval",
5887
5894
  "https://gotosocial.org/ns#ReplyAuthorization",
5888
5895
  "https://w3id.org/fep/044f#QuoteAuthorization",
5896
+ "https://w3id.org/valueflows/ont/vf#Agreement",
5889
5897
  "https://w3id.org/valueflows/ont/vf#Proposal",
5890
5898
  "https://www.w3.org/ns/activitystreams#Activity",
5891
5899
  "http://litepub.social/ns#EmojiReact",
@@ -5982,6 +5990,7 @@ var Object$1 = class Object$1 {
5982
5990
  "https://gotosocial.org/ns#LikeApproval",
5983
5991
  "https://gotosocial.org/ns#ReplyAuthorization",
5984
5992
  "https://w3id.org/fep/044f#QuoteAuthorization",
5993
+ "https://w3id.org/valueflows/ont/vf#Agreement",
5985
5994
  "https://w3id.org/valueflows/ont/vf#Proposal",
5986
5995
  "https://www.w3.org/ns/activitystreams#Activity",
5987
5996
  "http://litepub.social/ns#EmojiReact",
@@ -6159,6 +6168,7 @@ var Object$1 = class Object$1 {
6159
6168
  "https://gotosocial.org/ns#LikeApproval",
6160
6169
  "https://gotosocial.org/ns#ReplyAuthorization",
6161
6170
  "https://w3id.org/fep/044f#QuoteAuthorization",
6171
+ "https://w3id.org/valueflows/ont/vf#Agreement",
6162
6172
  "https://w3id.org/valueflows/ont/vf#Proposal",
6163
6173
  "https://www.w3.org/ns/activitystreams#Activity",
6164
6174
  "http://litepub.social/ns#EmojiReact",
@@ -14959,6 +14969,618 @@ Multikey.prototype[Symbol.for("Deno.customInspect")] = function(inspect, options
14959
14969
  Multikey.prototype[Symbol.for("nodejs.util.inspect.custom")] = function(_depth, options, inspect) {
14960
14970
  return "Multikey " + inspect(this._getCustomInspectProxy(), options);
14961
14971
  };
14972
+ /** The agreement reached between parties responding to a {@link Proposal}.
14973
+ *
14974
+ * An interested party sends an `Agreement` wrapped in an {@link Offer}
14975
+ * activity. The proposing party then either finalizes the agreement by
14976
+ * sending an {@link Accept} activity with the finalized `Agreement` as
14977
+ * its `result`, or sends a {@link Reject} activity.
14978
+ *
14979
+ * Note: This type extends ActivityStreams `Object` for practical
14980
+ * interoperability within ActivityPub federation, even though FEP-0837
14981
+ * defines `Agreement` as a pure ValueFlows type. Extending `Object`
14982
+ * provides useful inherited properties such as `id`, `attributedTo`,
14983
+ * `url`, `to`, and `published` without needing to redefine them.
14984
+ */
14985
+ var Agreement = class Agreement extends Object$1 {
14986
+ /**
14987
+ * The type URI of {@link Agreement}: `https://w3id.org/valueflows/ont/vf#Agreement`.
14988
+ */
14989
+ static get typeId() {
14990
+ return new URL("https://w3id.org/valueflows/ont/vf#Agreement");
14991
+ }
14992
+ #_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates = [];
14993
+ #_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal = [];
14994
+ /**
14995
+ * Constructs a new instance of Agreement with the given values.
14996
+ * @param values The values to initialize the instance with.
14997
+ * @param options The options to use for initialization.
14998
+ */
14999
+ constructor(values, options = {}) {
15000
+ super(values, options);
15001
+ if ("stipulates" in values && values.stipulates != null) if (values.stipulates instanceof Commitment) this.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates = [values.stipulates];
15002
+ else throw new TypeError("The stipulates must be of type Commitment.");
15003
+ if ("stipulatesReciprocal" in values && values.stipulatesReciprocal != null) if (values.stipulatesReciprocal instanceof Commitment) this.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal = [values.stipulatesReciprocal];
15004
+ else throw new TypeError("The stipulatesReciprocal must be of type Commitment.");
15005
+ }
15006
+ /**
15007
+ * Clones this instance, optionally updating it with the given values.
15008
+ * @param values The values to update the clone with.
15009
+ * @param options The options to use for cloning.
15010
+ * @returns The cloned instance.
15011
+ */
15012
+ clone(values = {}, options = {}) {
15013
+ if (this._warning != null) {
15014
+ getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
15015
+ options = {
15016
+ ...options,
15017
+ $warning: this._warning
15018
+ };
15019
+ }
15020
+ const clone = super.clone(values, options);
15021
+ clone.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates = this.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates;
15022
+ if ("stipulates" in values && values.stipulates != null) if (values.stipulates instanceof Commitment) clone.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates = [values.stipulates];
15023
+ else throw new TypeError("The stipulates must be of type Commitment.");
15024
+ clone.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal = this.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal;
15025
+ if ("stipulatesReciprocal" in values && values.stipulatesReciprocal != null) if (values.stipulatesReciprocal instanceof Commitment) clone.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal = [values.stipulatesReciprocal];
15026
+ else throw new TypeError("The stipulatesReciprocal must be of type Commitment.");
15027
+ return clone;
15028
+ }
15029
+ /** The primary {@link Commitment} associated with the agreement. This
15030
+ * commitment satisfies the primary {@link Intent} of the corresponding
15031
+ * {@link Proposal}.
15032
+ */
15033
+ get stipulates() {
15034
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
15035
+ if (this.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates.length < 1) return null;
15036
+ return this.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates[0];
15037
+ }
15038
+ /** The reciprocal {@link Commitment} associated with the agreement.
15039
+ * Required if the corresponding {@link Proposal} has a reciprocal
15040
+ * {@link Intent}.
15041
+ */
15042
+ get stipulatesReciprocal() {
15043
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
15044
+ if (this.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal.length < 1) return null;
15045
+ return this.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal[0];
15046
+ }
15047
+ /**
15048
+ * Converts this object to a JSON-LD structure.
15049
+ * @param options The options to use.
15050
+ * - `format`: The format of the output: `compact` or
15051
+ `expand`.
15052
+ * - `contextLoader`: The loader for remote JSON-LD contexts.
15053
+ * - `context`: The JSON-LD context to use. Not applicable
15054
+ when `format` is set to `'expand'`.
15055
+ * @returns The JSON-LD representation of this object.
15056
+ */
15057
+ async toJsonLd(options = {}) {
15058
+ if (options.format == null && this._cachedJsonLd != null) return this._cachedJsonLd;
15059
+ if (options.format !== "compact" && options.context != null) throw new TypeError("The context option can only be used when the format option is set to 'compact'.");
15060
+ options = {
15061
+ ...options,
15062
+ contextLoader: options.contextLoader ?? getDocumentLoader()
15063
+ };
15064
+ if (options.format == null && this.isCompactable()) {
15065
+ const result = await super.toJsonLd({
15066
+ ...options,
15067
+ format: void 0,
15068
+ context: void 0
15069
+ });
15070
+ let compactItems = [];
15071
+ for (const v of this.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates) {
15072
+ const item = await v.toJsonLd({
15073
+ ...options,
15074
+ format: void 0,
15075
+ context: void 0
15076
+ });
15077
+ compactItems.push(item);
15078
+ }
15079
+ if (compactItems.length > 0) result["stipulates"] = compactItems.length > 1 ? compactItems : compactItems[0];
15080
+ compactItems = [];
15081
+ for (const v of this.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal) {
15082
+ const item = await v.toJsonLd({
15083
+ ...options,
15084
+ format: void 0,
15085
+ context: void 0
15086
+ });
15087
+ compactItems.push(item);
15088
+ }
15089
+ if (compactItems.length > 0) result["stipulatesReciprocal"] = compactItems.length > 1 ? compactItems : compactItems[0];
15090
+ result["type"] = "Agreement";
15091
+ if (this.id != null) result["id"] = this.id.href;
15092
+ result["@context"] = [
15093
+ "https://www.w3.org/ns/activitystreams",
15094
+ "https://w3id.org/security/data-integrity/v1",
15095
+ "https://gotosocial.org/ns",
15096
+ {
15097
+ "vf": "https://w3id.org/valueflows/ont/vf#",
15098
+ "om2": "http://www.ontology-of-units-of-measure.org/resource/om-2/",
15099
+ "fedibird": "http://fedibird.com/ns#",
15100
+ "sensitive": "as:sensitive",
15101
+ "emojiReactions": {
15102
+ "@id": "fedibird:emojiReactions",
15103
+ "@type": "@id"
15104
+ },
15105
+ "Agreement": "vf:Agreement",
15106
+ "Commitment": "vf:Commitment",
15107
+ "stipulates": "vf:stipulates",
15108
+ "stipulatesReciprocal": "vf:stipulatesReciprocal",
15109
+ "satisfies": {
15110
+ "@id": "vf:satisfies",
15111
+ "@type": "@id"
15112
+ },
15113
+ "resourceQuantity": "vf:resourceQuantity",
15114
+ "hasUnit": "om2:hasUnit",
15115
+ "hasNumericalValue": "om2:hasNumericalValue"
15116
+ }
15117
+ ];
15118
+ return result;
15119
+ }
15120
+ let array;
15121
+ const values = (await super.toJsonLd({
15122
+ ...options,
15123
+ format: "expand",
15124
+ context: void 0
15125
+ }))[0];
15126
+ array = [];
15127
+ for (const v of this.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates) {
15128
+ const element = await v.toJsonLd(options);
15129
+ array.push(element);
15130
+ }
15131
+ if (array.length > 0) values["https://w3id.org/valueflows/ont/vf#stipulates"] = array;
15132
+ array = [];
15133
+ for (const v of this.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal) {
15134
+ const element = await v.toJsonLd(options);
15135
+ array.push(element);
15136
+ }
15137
+ if (array.length > 0) values["https://w3id.org/valueflows/ont/vf#stipulatesReciprocal"] = array;
15138
+ values["@type"] = ["https://w3id.org/valueflows/ont/vf#Agreement"];
15139
+ if (this.id != null) values["@id"] = this.id.href;
15140
+ if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
15141
+ const docContext = options.context ?? [
15142
+ "https://www.w3.org/ns/activitystreams",
15143
+ "https://w3id.org/security/data-integrity/v1",
15144
+ "https://gotosocial.org/ns",
15145
+ {
15146
+ "vf": "https://w3id.org/valueflows/ont/vf#",
15147
+ "om2": "http://www.ontology-of-units-of-measure.org/resource/om-2/",
15148
+ "fedibird": "http://fedibird.com/ns#",
15149
+ "sensitive": "as:sensitive",
15150
+ "emojiReactions": {
15151
+ "@id": "fedibird:emojiReactions",
15152
+ "@type": "@id"
15153
+ },
15154
+ "Agreement": "vf:Agreement",
15155
+ "Commitment": "vf:Commitment",
15156
+ "stipulates": "vf:stipulates",
15157
+ "stipulatesReciprocal": "vf:stipulatesReciprocal",
15158
+ "satisfies": {
15159
+ "@id": "vf:satisfies",
15160
+ "@type": "@id"
15161
+ },
15162
+ "resourceQuantity": "vf:resourceQuantity",
15163
+ "hasUnit": "om2:hasUnit",
15164
+ "hasNumericalValue": "om2:hasNumericalValue"
15165
+ }
15166
+ ];
15167
+ const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
15168
+ if (docContext != null) {
15169
+ if ("proof" in compacted && compacted.proof != null) if (Array.isArray(compacted.proof)) for (const element of compacted.proof) element["@context"] = docContext;
15170
+ else compacted.proof["@context"] = docContext;
15171
+ }
15172
+ return compacted;
15173
+ }
15174
+ isCompactable() {
15175
+ return super.isCompactable();
15176
+ }
15177
+ /**
15178
+ * Converts a JSON-LD structure to an object of this type.
15179
+ * @param json The JSON-LD structure to convert.
15180
+ * @param options The options to use.
15181
+ * - `documentLoader`: The loader for remote JSON-LD documents.
15182
+ * - `contextLoader`: The loader for remote JSON-LD contexts.
15183
+ * - `tracerProvider`: The OpenTelemetry tracer provider to use.
15184
+ * If omitted, the global tracer provider is used.
15185
+ * @returns The object of this type.
15186
+ * @throws {TypeError} If the given `json` is invalid.
15187
+ */
15188
+ static async fromJsonLd(json, options = {}) {
15189
+ return await (options.tracerProvider ?? trace.getTracerProvider()).getTracer("@fedify/vocab-tools", "2.3.0").startActiveSpan("activitypub.parse_object", async (span) => {
15190
+ try {
15191
+ const object = await this.__fromJsonLd__Agreement__(json, span, options);
15192
+ if (object.id != null) span.setAttribute("activitypub.object.id", object.id.href);
15193
+ return object;
15194
+ } catch (error) {
15195
+ span.setStatus({
15196
+ code: SpanStatusCode.ERROR,
15197
+ message: String(error)
15198
+ });
15199
+ throw error;
15200
+ } finally {
15201
+ span.end();
15202
+ }
15203
+ });
15204
+ }
15205
+ static async __fromJsonLd__Agreement__(json, span, options = {}) {
15206
+ if (typeof json === "undefined") throw new TypeError("Invalid JSON-LD: undefined.");
15207
+ else if (json === null) throw new TypeError("Invalid JSON-LD: null.");
15208
+ options = {
15209
+ ...options,
15210
+ documentLoader: options.documentLoader ?? getDocumentLoader(),
15211
+ contextLoader: options.contextLoader ?? getDocumentLoader(),
15212
+ tracerProvider: options.tracerProvider ?? trace.getTracerProvider()
15213
+ };
15214
+ let values;
15215
+ if (globalThis.Object.keys(json).length == 0) values = {};
15216
+ else values = (await jsonld.expand(json, {
15217
+ documentLoader: options.contextLoader,
15218
+ keepFreeFloatingNodes: true
15219
+ }))[0] ?? {};
15220
+ if (values["@id"] != null && !values["@id"].startsWith("_:") && !URL.canParse(values["@id"], options.baseUrl)) throw new TypeError("Invalid @id: " + values["@id"]);
15221
+ if (options.baseUrl == null && values["@id"] != null && !values["@id"].startsWith("_:") && URL.canParse(values["@id"])) options = {
15222
+ ...options,
15223
+ baseUrl: new URL(values["@id"])
15224
+ };
15225
+ if ("@type" in values) span.setAttribute("activitypub.object.type", values["@type"]);
15226
+ if ("@type" in values && !values["@type"].every((t) => t.startsWith("_:"))) {
15227
+ if (!values["@type"].includes("https://w3id.org/valueflows/ont/vf#Agreement")) throw new TypeError("Invalid type: " + values["@type"]);
15228
+ }
15229
+ delete values["@type"];
15230
+ const instance = await super.fromJsonLd(values, {
15231
+ ...options,
15232
+ _fromSubclass: true
15233
+ });
15234
+ if (!(instance instanceof Agreement)) throw new TypeError("Unexpected type: " + instance.constructor.name);
15235
+ const _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates = [];
15236
+ let _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates__array = values["https://w3id.org/valueflows/ont/vf#stipulates"];
15237
+ for (const v of _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates__array == null ? [] : _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates__array.length === 1 && "@list" in _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates__array[0] ? _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates__array[0]["@list"] : _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates__array) {
15238
+ if (v == null) continue;
15239
+ const decoded = await Commitment.fromJsonLd(v, {
15240
+ ...options,
15241
+ baseUrl: options.baseUrl
15242
+ });
15243
+ if (typeof decoded === "undefined") continue;
15244
+ _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates.push(decoded);
15245
+ }
15246
+ instance.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates = _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates;
15247
+ const _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal = [];
15248
+ let _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal__array = values["https://w3id.org/valueflows/ont/vf#stipulatesReciprocal"];
15249
+ for (const v of _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal__array == null ? [] : _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal__array.length === 1 && "@list" in _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal__array[0] ? _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal__array[0]["@list"] : _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal__array) {
15250
+ if (v == null) continue;
15251
+ const decoded = await Commitment.fromJsonLd(v, {
15252
+ ...options,
15253
+ baseUrl: options.baseUrl
15254
+ });
15255
+ if (typeof decoded === "undefined") continue;
15256
+ _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal.push(decoded);
15257
+ }
15258
+ instance.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal = _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal;
15259
+ if (!("_fromSubclass" in options) || !options._fromSubclass) try {
15260
+ instance._cachedJsonLd = structuredClone(json);
15261
+ } catch {
15262
+ getLogger(["fedify", "vocab"]).warn("Failed to cache JSON-LD: {json}", { json });
15263
+ }
15264
+ return instance;
15265
+ }
15266
+ _getCustomInspectProxy() {
15267
+ const proxy = super._getCustomInspectProxy();
15268
+ const _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates = this.#_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates.map((v) => v instanceof URL ? {
15269
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
15270
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
15271
+ } : v);
15272
+ if (_37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates.length == 1) proxy.stipulates = _37zeAJ2NVyecrDdP8os69FGAn9Q6_stipulates[0];
15273
+ const _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal = this.#_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal.map((v) => v instanceof URL ? {
15274
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
15275
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
15276
+ } : v);
15277
+ if (_4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal.length == 1) proxy.stipulatesReciprocal = _4Vhx9DcywF65XWUQ4KZ35475FaJm_stipulatesReciprocal[0];
15278
+ return proxy;
15279
+ }
15280
+ };
15281
+ Agreement.prototype[Symbol.for("Deno.customInspect")] = function(inspect, options) {
15282
+ return "Agreement " + inspect(this._getCustomInspectProxy(), options);
15283
+ };
15284
+ Agreement.prototype[Symbol.for("nodejs.util.inspect.custom")] = function(_depth, options, inspect) {
15285
+ return "Agreement " + inspect(this._getCustomInspectProxy(), options);
15286
+ };
15287
+ /** A promised economic transaction, referenced by an {@link Agreement}.
15288
+ *
15289
+ * A commitment satisfies an {@link Intent} of a {@link Proposal} and
15290
+ * specifies the actual amount of the economic resource being committed.
15291
+ */
15292
+ var Commitment = class {
15293
+ #documentLoader;
15294
+ #contextLoader;
15295
+ #tracerProvider;
15296
+ #warning;
15297
+ #cachedJsonLd;
15298
+ #_baseUrl;
15299
+ id;
15300
+ get _documentLoader() {
15301
+ return this.#documentLoader;
15302
+ }
15303
+ get _contextLoader() {
15304
+ return this.#contextLoader;
15305
+ }
15306
+ get _tracerProvider() {
15307
+ return this.#tracerProvider;
15308
+ }
15309
+ get _warning() {
15310
+ return this.#warning;
15311
+ }
15312
+ get _cachedJsonLd() {
15313
+ return this.#cachedJsonLd;
15314
+ }
15315
+ set _cachedJsonLd(value) {
15316
+ this.#cachedJsonLd = value;
15317
+ }
15318
+ get _baseUrl() {
15319
+ return this.#_baseUrl;
15320
+ }
15321
+ /**
15322
+ * The type URI of {@link Commitment}: `https://w3id.org/valueflows/ont/vf#Commitment`.
15323
+ */
15324
+ static get typeId() {
15325
+ return new URL("https://w3id.org/valueflows/ont/vf#Commitment");
15326
+ }
15327
+ #_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies = [];
15328
+ #_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity = [];
15329
+ /**
15330
+ * Constructs a new instance of Commitment with the given values.
15331
+ * @param values The values to initialize the instance with.
15332
+ * @param options The options to use for initialization.
15333
+ */
15334
+ constructor(values, options = {}) {
15335
+ this.#documentLoader = options.documentLoader;
15336
+ this.#contextLoader = options.contextLoader;
15337
+ this.#tracerProvider = options.tracerProvider;
15338
+ const baseUrl = options.baseUrl;
15339
+ this.#_baseUrl = baseUrl == null ? void 0 : new URL(baseUrl.href);
15340
+ if ("$warning" in options) this.#warning = options.$warning;
15341
+ if (values.id == null || values.id instanceof URL) this.id = values.id ?? null;
15342
+ else throw new TypeError("The id must be a URL.");
15343
+ if ("satisfies" in values && values.satisfies != null) if (values.satisfies instanceof URL) this.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies = [values.satisfies];
15344
+ else throw new TypeError("The satisfies must be of type URL.");
15345
+ if ("resourceQuantity" in values && values.resourceQuantity != null) if (values.resourceQuantity instanceof Measure) this.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity = [values.resourceQuantity];
15346
+ else throw new TypeError("The resourceQuantity must be of type Measure.");
15347
+ }
15348
+ /**
15349
+ * Clones this instance, optionally updating it with the given values.
15350
+ * @param values The values to update the clone with.
15351
+ * @param options The options to use for cloning.
15352
+ * @returns The cloned instance.
15353
+ */
15354
+ clone(values = {}, options = {}) {
15355
+ if (this._warning != null) {
15356
+ getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
15357
+ options = {
15358
+ ...options,
15359
+ $warning: this._warning
15360
+ };
15361
+ }
15362
+ const clone = new this.constructor({ id: values.id ?? this.id }, options);
15363
+ clone.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies = this.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies;
15364
+ if ("satisfies" in values && values.satisfies != null) if (values.satisfies instanceof URL) clone.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies = [values.satisfies];
15365
+ else throw new TypeError("The satisfies must be of type URL.");
15366
+ clone.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity = this.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity;
15367
+ if ("resourceQuantity" in values && values.resourceQuantity != null) if (values.resourceQuantity instanceof Measure) clone.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity = [values.resourceQuantity];
15368
+ else throw new TypeError("The resourceQuantity must be of type Measure.");
15369
+ return clone;
15370
+ }
15371
+ /** The {@link Intent} of a {@link Proposal} that this commitment
15372
+ * satisfies. The value is the proposal's URI with a
15373
+ * [fragment](https://developer.mozilla.org/en-US/docs/Web/URI/Reference/Fragment)
15374
+ * appended to identify the intent. Recommended fragments are
15375
+ * `primary` and `reciprocal`.
15376
+ */
15377
+ get satisfies() {
15378
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
15379
+ if (this.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies.length < 1) return null;
15380
+ return this.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies[0];
15381
+ }
15382
+ /** The amount and unit of the economic resource being committed. The
15383
+ * unit must match the unit specified in the corresponding {@link Intent}
15384
+ * of the proposal.
15385
+ */
15386
+ get resourceQuantity() {
15387
+ if (this._warning != null) getLogger(this._warning.category).warn(this._warning.message, this._warning.values);
15388
+ if (this.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity.length < 1) return null;
15389
+ return this.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity[0];
15390
+ }
15391
+ /**
15392
+ * Converts this object to a JSON-LD structure.
15393
+ * @param options The options to use.
15394
+ * - `format`: The format of the output: `compact` or
15395
+ `expand`.
15396
+ * - `contextLoader`: The loader for remote JSON-LD contexts.
15397
+ * - `context`: The JSON-LD context to use. Not applicable
15398
+ when `format` is set to `'expand'`.
15399
+ * @returns The JSON-LD representation of this object.
15400
+ */
15401
+ async toJsonLd(options = {}) {
15402
+ if (options.format == null && this._cachedJsonLd != null) return this._cachedJsonLd;
15403
+ if (options.format !== "compact" && options.context != null) throw new TypeError("The context option can only be used when the format option is set to 'compact'.");
15404
+ options = {
15405
+ ...options,
15406
+ contextLoader: options.contextLoader ?? getDocumentLoader()
15407
+ };
15408
+ if (options.format == null && this.isCompactable()) {
15409
+ const result = {};
15410
+ let compactItems = [];
15411
+ for (const v of this.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies) {
15412
+ const item = v.href;
15413
+ compactItems.push(item);
15414
+ }
15415
+ if (compactItems.length > 0) result["satisfies"] = compactItems.length > 1 ? compactItems : compactItems[0];
15416
+ compactItems = [];
15417
+ for (const v of this.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity) {
15418
+ const item = await v.toJsonLd({
15419
+ ...options,
15420
+ format: void 0,
15421
+ context: void 0
15422
+ });
15423
+ compactItems.push(item);
15424
+ }
15425
+ if (compactItems.length > 0) result["resourceQuantity"] = compactItems.length > 1 ? compactItems : compactItems[0];
15426
+ result["type"] = "Commitment";
15427
+ if (this.id != null) result["id"] = this.id.href;
15428
+ result["@context"] = ["https://www.w3.org/ns/activitystreams", {
15429
+ "vf": "https://w3id.org/valueflows/ont/vf#",
15430
+ "om2": "http://www.ontology-of-units-of-measure.org/resource/om-2/",
15431
+ "Commitment": "vf:Commitment",
15432
+ "satisfies": {
15433
+ "@id": "vf:satisfies",
15434
+ "@type": "@id"
15435
+ },
15436
+ "resourceQuantity": "vf:resourceQuantity",
15437
+ "hasUnit": "om2:hasUnit",
15438
+ "hasNumericalValue": "om2:hasNumericalValue"
15439
+ }];
15440
+ return result;
15441
+ }
15442
+ let array;
15443
+ const values = {};
15444
+ array = [];
15445
+ for (const v of this.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies) {
15446
+ const element = { "@id": v.href };
15447
+ array.push(element);
15448
+ }
15449
+ if (array.length > 0) values["https://w3id.org/valueflows/ont/vf#satisfies"] = array;
15450
+ array = [];
15451
+ for (const v of this.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity) {
15452
+ const element = await v.toJsonLd(options);
15453
+ array.push(element);
15454
+ }
15455
+ if (array.length > 0) values["https://w3id.org/valueflows/ont/vf#resourceQuantity"] = array;
15456
+ values["@type"] = ["https://w3id.org/valueflows/ont/vf#Commitment"];
15457
+ if (this.id != null) values["@id"] = this.id.href;
15458
+ if (options.format === "expand") return await jsonld.expand(values, { documentLoader: options.contextLoader });
15459
+ const docContext = options.context ?? ["https://www.w3.org/ns/activitystreams", {
15460
+ "vf": "https://w3id.org/valueflows/ont/vf#",
15461
+ "om2": "http://www.ontology-of-units-of-measure.org/resource/om-2/",
15462
+ "Commitment": "vf:Commitment",
15463
+ "satisfies": {
15464
+ "@id": "vf:satisfies",
15465
+ "@type": "@id"
15466
+ },
15467
+ "resourceQuantity": "vf:resourceQuantity",
15468
+ "hasUnit": "om2:hasUnit",
15469
+ "hasNumericalValue": "om2:hasNumericalValue"
15470
+ }];
15471
+ const compacted = await jsonld.compact(values, docContext, { documentLoader: options.contextLoader });
15472
+ if (docContext != null) {}
15473
+ return compacted;
15474
+ }
15475
+ isCompactable() {
15476
+ return true;
15477
+ }
15478
+ /**
15479
+ * Converts a JSON-LD structure to an object of this type.
15480
+ * @param json The JSON-LD structure to convert.
15481
+ * @param options The options to use.
15482
+ * - `documentLoader`: The loader for remote JSON-LD documents.
15483
+ * - `contextLoader`: The loader for remote JSON-LD contexts.
15484
+ * - `tracerProvider`: The OpenTelemetry tracer provider to use.
15485
+ * If omitted, the global tracer provider is used.
15486
+ * @returns The object of this type.
15487
+ * @throws {TypeError} If the given `json` is invalid.
15488
+ */
15489
+ static async fromJsonLd(json, options = {}) {
15490
+ return await (options.tracerProvider ?? trace.getTracerProvider()).getTracer("@fedify/vocab-tools", "2.3.0").startActiveSpan("activitypub.parse_object", async (span) => {
15491
+ try {
15492
+ const object = await this.__fromJsonLd__Commitment__(json, span, options);
15493
+ if (object.id != null) span.setAttribute("activitypub.object.id", object.id.href);
15494
+ return object;
15495
+ } catch (error) {
15496
+ span.setStatus({
15497
+ code: SpanStatusCode.ERROR,
15498
+ message: String(error)
15499
+ });
15500
+ throw error;
15501
+ } finally {
15502
+ span.end();
15503
+ }
15504
+ });
15505
+ }
15506
+ static async __fromJsonLd__Commitment__(json, span, options = {}) {
15507
+ if (typeof json === "undefined") throw new TypeError("Invalid JSON-LD: undefined.");
15508
+ else if (json === null) throw new TypeError("Invalid JSON-LD: null.");
15509
+ options = {
15510
+ ...options,
15511
+ documentLoader: options.documentLoader ?? getDocumentLoader(),
15512
+ contextLoader: options.contextLoader ?? getDocumentLoader(),
15513
+ tracerProvider: options.tracerProvider ?? trace.getTracerProvider()
15514
+ };
15515
+ let values;
15516
+ if (globalThis.Object.keys(json).length == 0) values = {};
15517
+ else values = (await jsonld.expand(json, {
15518
+ documentLoader: options.contextLoader,
15519
+ keepFreeFloatingNodes: true
15520
+ }))[0] ?? {};
15521
+ if (values["@id"] != null && !values["@id"].startsWith("_:") && !URL.canParse(values["@id"], options.baseUrl)) throw new TypeError("Invalid @id: " + values["@id"]);
15522
+ if (options.baseUrl == null && values["@id"] != null && !values["@id"].startsWith("_:") && URL.canParse(values["@id"])) options = {
15523
+ ...options,
15524
+ baseUrl: new URL(values["@id"])
15525
+ };
15526
+ if ("@type" in values) span.setAttribute("activitypub.object.type", values["@type"]);
15527
+ if ("@type" in values && !values["@type"].every((t) => t.startsWith("_:"))) {
15528
+ if (!values["@type"].includes("https://w3id.org/valueflows/ont/vf#Commitment")) throw new TypeError("Invalid type: " + values["@type"]);
15529
+ }
15530
+ const instance = new this({ id: values["@id"] != null && !values["@id"].startsWith("_:") && URL.canParse(values["@id"], options.baseUrl) ? new URL(values["@id"], options.baseUrl) : void 0 }, options);
15531
+ const _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies = [];
15532
+ let _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies__array = values["https://w3id.org/valueflows/ont/vf#satisfies"];
15533
+ for (const v of _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies__array == null ? [] : _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies__array.length === 1 && "@list" in _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies__array[0] ? _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies__array[0]["@list"] : _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies__array) {
15534
+ if (v == null) continue;
15535
+ const decoded = v["@id"].startsWith("at://") ? new URL("at://" + encodeURIComponent(v["@id"].includes("/", 5) ? v["@id"].slice(5, v["@id"].indexOf("/", 5)) : v["@id"].slice(5)) + (v["@id"].includes("/", 5) ? v["@id"].slice(v["@id"].indexOf("/", 5)) : "")) : URL.canParse(v["@id"]) && options.baseUrl ? new URL(v["@id"]) : new URL(v["@id"], options.baseUrl);
15536
+ if (typeof decoded === "undefined") continue;
15537
+ _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies.push(decoded);
15538
+ }
15539
+ instance.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies = _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies;
15540
+ const _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity = [];
15541
+ let _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity__array = values["https://w3id.org/valueflows/ont/vf#resourceQuantity"];
15542
+ for (const v of _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity__array == null ? [] : _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity__array.length === 1 && "@list" in _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity__array[0] ? _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity__array[0]["@list"] : _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity__array) {
15543
+ if (v == null) continue;
15544
+ const decoded = await Measure.fromJsonLd(v, {
15545
+ ...options,
15546
+ baseUrl: options.baseUrl
15547
+ });
15548
+ if (typeof decoded === "undefined") continue;
15549
+ _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity.push(decoded);
15550
+ }
15551
+ instance.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity = _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity;
15552
+ if (!("_fromSubclass" in options) || !options._fromSubclass) try {
15553
+ instance._cachedJsonLd = structuredClone(json);
15554
+ } catch {
15555
+ getLogger(["fedify", "vocab"]).warn("Failed to cache JSON-LD: {json}", { json });
15556
+ }
15557
+ return instance;
15558
+ }
15559
+ _getCustomInspectProxy() {
15560
+ const proxy = {};
15561
+ if (this.id != null) proxy.id = {
15562
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(this.id.href, options),
15563
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(this.id.href, options)
15564
+ };
15565
+ const _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies = this.#_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies.map((v) => v instanceof URL ? {
15566
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
15567
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
15568
+ } : v);
15569
+ if (_aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies.length == 1) proxy.satisfies = _aCyzDK9TkXtLxrZs7JC8emuYisv_satisfies[0];
15570
+ const _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity = this.#_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity.map((v) => v instanceof URL ? {
15571
+ [Symbol.for("Deno.customInspect")]: (inspect, options) => "URL " + inspect(v.href, options),
15572
+ [Symbol.for("nodejs.util.inspect.custom")]: (_depth, options, inspect) => "URL " + inspect(v.href, options)
15573
+ } : v);
15574
+ if (_2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity.length == 1) proxy.resourceQuantity = _2dLfqTbbRiggEcMQWbHpxkQrtmrc_resourceQuantity[0];
15575
+ return proxy;
15576
+ }
15577
+ };
15578
+ Commitment.prototype[Symbol.for("Deno.customInspect")] = function(inspect, options) {
15579
+ return "Commitment " + inspect(this._getCustomInspectProxy(), options);
15580
+ };
15581
+ Commitment.prototype[Symbol.for("nodejs.util.inspect.custom")] = function(_depth, options, inspect) {
15582
+ return "Commitment " + inspect(this._getCustomInspectProxy(), options);
15583
+ };
14962
15584
  /** A proposed economic transaction describing what is being offered or requested
14963
15585
  * in a {@link Proposal}.
14964
15586
  */
@@ -23438,6 +24060,7 @@ var Collection = class Collection extends Object$1 {
23438
24060
  "https://gotosocial.org/ns#LikeApproval",
23439
24061
  "https://gotosocial.org/ns#ReplyAuthorization",
23440
24062
  "https://w3id.org/fep/044f#QuoteAuthorization",
24063
+ "https://w3id.org/valueflows/ont/vf#Agreement",
23441
24064
  "https://w3id.org/valueflows/ont/vf#Proposal",
23442
24065
  "https://www.w3.org/ns/activitystreams#Activity",
23443
24066
  "http://litepub.social/ns#EmojiReact",
@@ -29912,6 +30535,7 @@ var Link = class Link {
29912
30535
  "https://gotosocial.org/ns#LikeApproval",
29913
30536
  "https://gotosocial.org/ns#ReplyAuthorization",
29914
30537
  "https://w3id.org/fep/044f#QuoteAuthorization",
30538
+ "https://w3id.org/valueflows/ont/vf#Agreement",
29915
30539
  "https://w3id.org/valueflows/ont/vf#Proposal",
29916
30540
  "https://www.w3.org/ns/activitystreams#Activity",
29917
30541
  "http://litepub.social/ns#EmojiReact",
@@ -32577,6 +33201,7 @@ var OrderedCollection = class OrderedCollection extends Collection {
32577
33201
  "https://gotosocial.org/ns#LikeApproval",
32578
33202
  "https://gotosocial.org/ns#ReplyAuthorization",
32579
33203
  "https://w3id.org/fep/044f#QuoteAuthorization",
33204
+ "https://w3id.org/valueflows/ont/vf#Agreement",
32580
33205
  "https://w3id.org/valueflows/ont/vf#Proposal",
32581
33206
  "https://www.w3.org/ns/activitystreams#Activity",
32582
33207
  "http://litepub.social/ns#EmojiReact",
@@ -33090,6 +33715,7 @@ var OrderedCollectionPage = class OrderedCollectionPage extends CollectionPage {
33090
33715
  "https://gotosocial.org/ns#LikeApproval",
33091
33716
  "https://gotosocial.org/ns#ReplyAuthorization",
33092
33717
  "https://w3id.org/fep/044f#QuoteAuthorization",
33718
+ "https://w3id.org/valueflows/ont/vf#Agreement",
33093
33719
  "https://w3id.org/valueflows/ont/vf#Proposal",
33094
33720
  "https://www.w3.org/ns/activitystreams#Activity",
33095
33721
  "http://litepub.social/ns#EmojiReact",
@@ -48195,6 +48821,7 @@ const entityTypeSet = new Set([
48195
48821
  DataIntegrityProof,
48196
48822
  CryptographicKey,
48197
48823
  Multikey,
48824
+ Agreement,
48198
48825
  Proposal,
48199
48826
  Accept,
48200
48827
  Add,
@@ -48266,6 +48893,7 @@ const entityTypeIds = new Map([
48266
48893
  ["https://w3id.org/security#DataIntegrityProof", DataIntegrityProof],
48267
48894
  ["https://w3id.org/security#Key", CryptographicKey],
48268
48895
  ["https://w3id.org/security#Multikey", Multikey],
48896
+ ["https://w3id.org/valueflows/ont/vf#Agreement", Agreement],
48269
48897
  ["https://w3id.org/valueflows/ont/vf#Proposal", Proposal],
48270
48898
  ["https://www.w3.org/ns/activitystreams#Accept", Accept],
48271
48899
  ["https://www.w3.org/ns/activitystreams#Add", Add],
@@ -48331,4 +48959,4 @@ function getEntityTypeById(id) {
48331
48959
  return entityTypeIds.get(typeof id === "string" ? id : id?.href);
48332
48960
  }
48333
48961
  //#endregion
48334
- export { __commonJSMin as A, QuoteRequest as C, getEntityTypeById as D, Tombstone as E, __toESM as M, isEntityType as O, QuoteAuthorization as S, Source as T, OrderedCollectionPage as _, Create as a, Place as b, Endpoints as c, Hashtag as d, InteractionPolicy as f, Object$1 as g, Note as h, Collection as i, __exportAll as j, vocab_exports as k, Follow as l, Link as m, Announce as n, CryptographicKey as o, InteractionRule as p, Application as r, Delete as s, Activity as t, Group as u, Organization as v, Service as w, Question as x, Person as y };
48962
+ export { QuoteAuthorization as A, __exportAll as B, Offer as C, Place as D, Person as E, Tombstone as F, getEntityTypeById as I, isEntityType as L, Reject as M, Service as N, Proposal as O, Source as P, vocab_exports as R, Object$1 as S, Organization as T, __toESM as V, InteractionPolicy as _, Application as a, Measure as b, Create as c, Document as d, Endpoints as f, Intent as g, Hashtag as h, Announce as i, QuoteRequest as j, Question as k, CryptographicKey as l, Group as m, Activity as n, Collection as o, Follow as p, Agreement as r, Commitment as s, Accept as t, Delete as u, InteractionRule as v, OrderedCollectionPage as w, Note as x, Link as y, __commonJSMin as z };