@fedify/vocab 2.5.0-dev.2446 → 2.5.0-dev.2492

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.
package/dist/mod.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /// <reference lib="esnext.temporal" />
2
2
  import { Decimal, Decimal as Decimal$1, DocumentLoader, DocumentLoader as DocumentLoader$1, DocumentLoaderOptions, GetUserAgentOptions, GetUserAgentOptions as GetUserAgentOptions$1, Json, LanguageString, LanguageString as LanguageString$1, PortableObjectReferrer, PortableObjectVerification, PortableObjectVerifier, PortableObjectVerifier as PortableObjectVerifier$1, PortableObjectVerifierOptions, PropertyPreprocessor, PropertyPreprocessor as PropertyPreprocessor$1, PropertyPreprocessorContext, RemoteDocument } from "@fedify/vocab-runtime";
3
3
  import { MeterProvider, Span, TracerProvider } from "@opentelemetry/api";
4
+ import { DereferenceObserver } from "@fedify/vocab-runtime/internal/portable-dereference";
4
5
 
5
6
  //#region src/vocab.d.ts
6
7
  /** Describes an object of any kind. The Object type serves as the base type for
@@ -21,6 +22,11 @@ declare class Object$1 {
21
22
  message: string;
22
23
  values?: Record<string, unknown>;
23
24
  } | undefined;
25
+ /**
26
+ * Internal cross-package contract with @fedify/testing, which copies this
27
+ * cache when attaching document loaders to an activity clone. Keep this
28
+ * accessor name and its getter/setter semantics stable.
29
+ */
24
30
  protected get _cachedJsonLd(): unknown | undefined;
25
31
  protected set _cachedJsonLd(value: unknown | undefined);
26
32
  protected get _baseUrl(): URL | undefined;
@@ -2849,6 +2855,11 @@ declare class PropertyValue {
2849
2855
  message: string;
2850
2856
  values?: Record<string, unknown>;
2851
2857
  } | undefined;
2858
+ /**
2859
+ * Internal cross-package contract with @fedify/testing, which copies this
2860
+ * cache when attaching document loaders to an activity clone. Keep this
2861
+ * accessor name and its getter/setter semantics stable.
2862
+ */
2852
2863
  protected get _cachedJsonLd(): unknown | undefined;
2853
2864
  protected set _cachedJsonLd(value: unknown | undefined);
2854
2865
  protected get _baseUrl(): URL | undefined;
@@ -2977,6 +2988,11 @@ declare class Measure {
2977
2988
  message: string;
2978
2989
  values?: Record<string, unknown>;
2979
2990
  } | undefined;
2991
+ /**
2992
+ * Internal cross-package contract with @fedify/testing, which copies this
2993
+ * cache when attaching document loaders to an activity clone. Keep this
2994
+ * accessor name and its getter/setter semantics stable.
2995
+ */
2980
2996
  protected get _cachedJsonLd(): unknown | undefined;
2981
2997
  protected set _cachedJsonLd(value: unknown | undefined);
2982
2998
  protected get _baseUrl(): URL | undefined;
@@ -3643,6 +3659,11 @@ declare class InteractionPolicy {
3643
3659
  message: string;
3644
3660
  values?: Record<string, unknown>;
3645
3661
  } | undefined;
3662
+ /**
3663
+ * Internal cross-package contract with @fedify/testing, which copies this
3664
+ * cache when attaching document loaders to an activity clone. Keep this
3665
+ * accessor name and its getter/setter semantics stable.
3666
+ */
3646
3667
  protected get _cachedJsonLd(): unknown | undefined;
3647
3668
  protected set _cachedJsonLd(value: unknown | undefined);
3648
3669
  protected get _baseUrl(): URL | undefined;
@@ -3818,6 +3839,11 @@ declare class InteractionRule {
3818
3839
  message: string;
3819
3840
  values?: Record<string, unknown>;
3820
3841
  } | undefined;
3842
+ /**
3843
+ * Internal cross-package contract with @fedify/testing, which copies this
3844
+ * cache when attaching document loaders to an activity clone. Keep this
3845
+ * accessor name and its getter/setter semantics stable.
3846
+ */
3821
3847
  protected get _cachedJsonLd(): unknown | undefined;
3822
3848
  protected set _cachedJsonLd(value: unknown | undefined);
3823
3849
  protected get _baseUrl(): URL | undefined;
@@ -5551,6 +5577,11 @@ declare class Translation {
5551
5577
  message: string;
5552
5578
  values?: Record<string, unknown>;
5553
5579
  } | undefined;
5580
+ /**
5581
+ * Internal cross-package contract with @fedify/testing, which copies this
5582
+ * cache when attaching document loaders to an activity clone. Keep this
5583
+ * accessor name and its getter/setter semantics stable.
5584
+ */
5554
5585
  protected get _cachedJsonLd(): unknown | undefined;
5555
5586
  protected set _cachedJsonLd(value: unknown | undefined);
5556
5587
  protected get _baseUrl(): URL | undefined;
@@ -7717,6 +7748,11 @@ declare class DidService {
7717
7748
  message: string;
7718
7749
  values?: Record<string, unknown>;
7719
7750
  } | undefined;
7751
+ /**
7752
+ * Internal cross-package contract with @fedify/testing, which copies this
7753
+ * cache when attaching document loaders to an activity clone. Keep this
7754
+ * accessor name and its getter/setter semantics stable.
7755
+ */
7720
7756
  protected get _cachedJsonLd(): unknown | undefined;
7721
7757
  protected set _cachedJsonLd(value: unknown | undefined);
7722
7758
  protected get _baseUrl(): URL | undefined;
@@ -7953,6 +7989,11 @@ declare class DataIntegrityProof {
7953
7989
  message: string;
7954
7990
  values?: Record<string, unknown>;
7955
7991
  } | undefined;
7992
+ /**
7993
+ * Internal cross-package contract with @fedify/testing, which copies this
7994
+ * cache when attaching document loaders to an activity clone. Keep this
7995
+ * accessor name and its getter/setter semantics stable.
7996
+ */
7956
7997
  protected get _cachedJsonLd(): unknown | undefined;
7957
7998
  protected set _cachedJsonLd(value: unknown | undefined);
7958
7999
  protected get _baseUrl(): URL | undefined;
@@ -8132,6 +8173,11 @@ declare class CryptographicKey {
8132
8173
  message: string;
8133
8174
  values?: Record<string, unknown>;
8134
8175
  } | undefined;
8176
+ /**
8177
+ * Internal cross-package contract with @fedify/testing, which copies this
8178
+ * cache when attaching document loaders to an activity clone. Keep this
8179
+ * accessor name and its getter/setter semantics stable.
8180
+ */
8135
8181
  protected get _cachedJsonLd(): unknown | undefined;
8136
8182
  protected set _cachedJsonLd(value: unknown | undefined);
8137
8183
  protected get _baseUrl(): URL | undefined;
@@ -8290,6 +8336,11 @@ declare class Multikey {
8290
8336
  message: string;
8291
8337
  values?: Record<string, unknown>;
8292
8338
  } | undefined;
8339
+ /**
8340
+ * Internal cross-package contract with @fedify/testing, which copies this
8341
+ * cache when attaching document loaders to an activity clone. Keep this
8342
+ * accessor name and its getter/setter semantics stable.
8343
+ */
8293
8344
  protected get _cachedJsonLd(): unknown | undefined;
8294
8345
  protected set _cachedJsonLd(value: unknown | undefined);
8295
8346
  protected get _baseUrl(): URL | undefined;
@@ -8688,6 +8739,11 @@ declare class Commitment {
8688
8739
  message: string;
8689
8740
  values?: Record<string, unknown>;
8690
8741
  } | undefined;
8742
+ /**
8743
+ * Internal cross-package contract with @fedify/testing, which copies this
8744
+ * cache when attaching document loaders to an activity clone. Keep this
8745
+ * accessor name and its getter/setter semantics stable.
8746
+ */
8691
8747
  protected get _cachedJsonLd(): unknown | undefined;
8692
8748
  protected set _cachedJsonLd(value: unknown | undefined);
8693
8749
  protected get _baseUrl(): URL | undefined;
@@ -8823,6 +8879,11 @@ declare class Intent {
8823
8879
  message: string;
8824
8880
  values?: Record<string, unknown>;
8825
8881
  } | undefined;
8882
+ /**
8883
+ * Internal cross-package contract with @fedify/testing, which copies this
8884
+ * cache when attaching document loaders to an activity clone. Keep this
8885
+ * accessor name and its getter/setter semantics stable.
8886
+ */
8826
8887
  protected get _cachedJsonLd(): unknown | undefined;
8827
8888
  protected set _cachedJsonLd(value: unknown | undefined);
8828
8889
  protected get _baseUrl(): URL | undefined;
@@ -13600,6 +13661,11 @@ declare class Endpoints {
13600
13661
  message: string;
13601
13662
  values?: Record<string, unknown>;
13602
13663
  } | undefined;
13664
+ /**
13665
+ * Internal cross-package contract with @fedify/testing, which copies this
13666
+ * cache when attaching document loaders to an activity clone. Keep this
13667
+ * accessor name and its getter/setter semantics stable.
13668
+ */
13603
13669
  protected get _cachedJsonLd(): unknown | undefined;
13604
13670
  protected set _cachedJsonLd(value: unknown | undefined);
13605
13671
  protected get _baseUrl(): URL | undefined;
@@ -15416,6 +15482,11 @@ declare class Link {
15416
15482
  message: string;
15417
15483
  values?: Record<string, unknown>;
15418
15484
  } | undefined;
15485
+ /**
15486
+ * Internal cross-package contract with @fedify/testing, which copies this
15487
+ * cache when attaching document loaders to an activity clone. Keep this
15488
+ * accessor name and its getter/setter semantics stable.
15489
+ */
15419
15490
  protected get _cachedJsonLd(): unknown | undefined;
15420
15491
  protected set _cachedJsonLd(value: unknown | undefined);
15421
15492
  protected get _baseUrl(): URL | undefined;
@@ -23391,6 +23462,11 @@ declare class Source {
23391
23462
  message: string;
23392
23463
  values?: Record<string, unknown>;
23393
23464
  } | undefined;
23465
+ /**
23466
+ * Internal cross-package contract with @fedify/testing, which copies this
23467
+ * cache when attaching document loaders to an activity clone. Keep this
23468
+ * accessor name and its getter/setter semantics stable.
23469
+ */
23394
23470
  protected get _cachedJsonLd(): unknown | undefined;
23395
23471
  protected set _cachedJsonLd(value: unknown | undefined);
23396
23472
  protected get _baseUrl(): URL | undefined;
@@ -25673,6 +25749,34 @@ type ObjectLookupKind = "actor" | "object" | "other";
25673
25749
  *
25674
25750
  * @since 0.2.0
25675
25751
  */
25752
+ /**
25753
+ * The key of the {@link LookupObjectOptions} property that observes how
25754
+ * {@link lookupObject} selects the object it returns.
25755
+ *
25756
+ * @internal Technically exported for other Fedify packages, but not part of
25757
+ * the public API contract. This is not considered public API for Semantic
25758
+ * Versioning decisions.
25759
+ */
25760
+ declare const lookupObserver: unique symbol;
25761
+ /**
25762
+ * Observes how {@link lookupObject} selects the object it returns: each
25763
+ * candidate is offered to {@link DereferenceObserver.accept} at the boundary
25764
+ * that would otherwise return it, both for ordinary documents and for
25765
+ * FEP-ef61 portable objects, and each failure that does not propagate is
25766
+ * reported to {@link DereferenceObserver.failed}. The observer is not passed
25767
+ * on to the returned object.
25768
+ *
25769
+ * @internal Technically exported for other Fedify packages, but not part of
25770
+ * the public API contract. This is not considered public API for Semantic
25771
+ * Versioning decisions.
25772
+ */
25773
+ interface LookupObserver extends DereferenceObserver<Object$1> {
25774
+ /**
25775
+ * Whether to fall back to WebFinger when an HTTP(S) URL cannot be fetched.
25776
+ * Defaults to `true`.
25777
+ */
25778
+ readonly webFinger?: boolean;
25779
+ }
25676
25780
  interface LookupObjectOptions {
25677
25781
  /**
25678
25782
  * The document loader for loading remote JSON-LD documents.
@@ -25768,6 +25872,11 @@ interface LookupObjectOptions {
25768
25872
  * @since 2.4.0
25769
25873
  */
25770
25874
  verifyPortableObject?: PortableObjectVerifier$1;
25875
+ /**
25876
+ * See {@link LookupObserver}.
25877
+ * @internal
25878
+ */
25879
+ [lookupObserver]?: LookupObserver;
25771
25880
  }
25772
25881
  /**
25773
25882
  * Looks up an ActivityStreams object by its URI (including `acct:` URIs)
@@ -25992,4 +26101,4 @@ declare function getTypeId(object: Object$1 | Link | null): URL | null;
25992
26101
  */
25993
26102
  declare function getTypeId(object: Object$1 | Link | null | undefined): URL | null | undefined;
25994
26103
  //#endregion
25995
- export { $EntityType, Accept, Activity, Actor, ActorDiscoveryResult, ActorTypeName, Add, Agreement, Announce, AnnounceAuthorization, AnnounceRequest, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Commitment, Create, CryptographicKey, DataIntegrityProof, type Decimal, Delete, DidService, Dislike, Document, type DocumentLoader, type DocumentLoaderOptions, Emoji, EmojiReact, Endpoints, Event, Export, FeatureAuthorization, FeatureRequest, FeaturedCollection, FeaturedItem, FediverseHandle, Flag, Follow, GetActorHandleOptions, type GetUserAgentOptions, Group, Hashtag, Ignore, Image, Intent, InteractionPolicy, InteractionRule, IntransitiveActivity, Invite, Join, type Json, LanguageString, Leave, Like, LikeAuthorization, LikeRequest, Link, Listen, LookupObjectOptions, Measure, Mention, Move, Multikey, NormalizeActorHandleOptions, Note, Object$1 as Object, ObjectLookupKind, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, Person, Place, type PortableObjectReferrer, type PortableObjectVerification, type PortableObjectVerifier, type PortableObjectVerifierOptions, Profile, type PropertyPreprocessor, type PropertyPreprocessorContext, PropertyValue, Proposal, Question, QuoteAuthorization, QuoteRequest, Read, Recipient, Reject, Relationship, type RemoteDocument, Remove, ReplyAuthorization, ReplyRequest, Service, Source, TentativeAccept, TentativeReject, Tombstone, Translation, Travel, TraverseCollectionOptions, Undo, Update, Video, View, getActorClassByTypeName, getActorHandle, getActorTypeName, getEntityTypeById, getTypeId, isActor, isEntityType, isFediverseHandle, lookupObject, normalizeActorHandle, normalizeLinkToImage, parseFediverseHandle, toAcctUrl, traverseCollection };
26104
+ export { $EntityType, Accept, Activity, Actor, ActorDiscoveryResult, ActorTypeName, Add, Agreement, Announce, AnnounceAuthorization, AnnounceRequest, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Commitment, Create, CryptographicKey, DataIntegrityProof, type Decimal, Delete, DidService, Dislike, Document, type DocumentLoader, type DocumentLoaderOptions, Emoji, EmojiReact, Endpoints, Event, Export, FeatureAuthorization, FeatureRequest, FeaturedCollection, FeaturedItem, FediverseHandle, Flag, Follow, GetActorHandleOptions, type GetUserAgentOptions, Group, Hashtag, Ignore, Image, Intent, InteractionPolicy, InteractionRule, IntransitiveActivity, Invite, Join, type Json, LanguageString, Leave, Like, LikeAuthorization, LikeRequest, Link, Listen, LookupObjectOptions, LookupObserver, Measure, Mention, Move, Multikey, NormalizeActorHandleOptions, Note, Object$1 as Object, ObjectLookupKind, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, Person, Place, type PortableObjectReferrer, type PortableObjectVerification, type PortableObjectVerifier, type PortableObjectVerifierOptions, Profile, type PropertyPreprocessor, type PropertyPreprocessorContext, PropertyValue, Proposal, Question, QuoteAuthorization, QuoteRequest, Read, Recipient, Reject, Relationship, type RemoteDocument, Remove, ReplyAuthorization, ReplyRequest, Service, Source, TentativeAccept, TentativeReject, Tombstone, Translation, Travel, TraverseCollectionOptions, Undo, Update, Video, View, getActorClassByTypeName, getActorHandle, getActorTypeName, getEntityTypeById, getTypeId, isActor, isEntityType, isFediverseHandle, lookupObject, lookupObserver, normalizeActorHandle, normalizeLinkToImage, parseFediverseHandle, toAcctUrl, traverseCollection };
package/dist/mod.js CHANGED
@@ -6,13 +6,13 @@ import { domainToASCII, domainToUnicode } from "node:url";
6
6
  import jsonld from "@fedify/vocab-runtime/jsonld";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { compactJsonLdCache, createScopedContextLoader, getPortableActorGateways, isTrustedIriOrigin, normalizeJsonLdIris } from "@fedify/vocab-runtime/internal/jsonld-cache";
9
- import { PortableObjectRejectedError, copyPortableProvenance, createSnapshotContextLoader, dereferencePortableIri, getPortableGatewayCandidates, getPortableResponseClaim, getReferrerGateways, isPortableIri, isPortableMode, isUnsecuredPortableObject, isUnverifiedPortableClaim, markUnverifiedPortableClaim, mustDereferencePortableObject, parseCompatibleEf61Reference, recordPortableReferrer, rejectMalformedCompatibleReference, warnUnverifiableEmbeddedObject } from "@fedify/vocab-runtime/internal/portable-dereference";
9
+ import { PortableObjectRejectedError, acceptCandidate, copyPortableProvenance, createSnapshotContextLoader, dereferencePortableIri, getPortableGatewayCandidates, getPortableResponseClaim, getReferrerGateways, isPortableIri, isPortableMode, isUnsecuredPortableObject, isUnverifiedPortableClaim, markUnverifiedPortableClaim, mustDereferencePortableObject, parseCompatibleEf61Reference, recordPortableReferrer, rejectMalformedCompatibleReference, warnUnverifiableEmbeddedObject } from "@fedify/vocab-runtime/internal/portable-dereference";
10
10
  import { enterSignedValueScope, resolveSignedValues, retainedSignedValueRef } from "@fedify/vocab-runtime/internal/signed-representation";
11
11
  import { isTemporalDuration, isTemporalInstant } from "@fedify/vocab-runtime/temporal";
12
12
  import { delay } from "es-toolkit";
13
13
  //#region deno.json
14
14
  var name = "@fedify/vocab";
15
- var version = "2.5.0-dev.2446+2014cb03";
15
+ var version = "2.5.0-dev.2492+4648c04e";
16
16
  //#endregion
17
17
  //#region src/type.ts
18
18
  function getTypeId(object) {
@@ -352,6 +352,11 @@ var Object$1 = class Object$1 {
352
352
  get _warning() {
353
353
  return this.#warning;
354
354
  }
355
+ /**
356
+ * Internal cross-package contract with @fedify/testing, which copies this
357
+ * cache when attaching document loaders to an activity clone. Keep this
358
+ * accessor name and its getter/setter semantics stable.
359
+ */
355
360
  get _cachedJsonLd() {
356
361
  return this.#cachedJsonLd;
357
362
  }
@@ -14036,6 +14041,11 @@ var PropertyValue = class {
14036
14041
  get _warning() {
14037
14042
  return this.#warning;
14038
14043
  }
14044
+ /**
14045
+ * Internal cross-package contract with @fedify/testing, which copies this
14046
+ * cache when attaching document loaders to an activity clone. Keep this
14047
+ * accessor name and its getter/setter semantics stable.
14048
+ */
14039
14049
  get _cachedJsonLd() {
14040
14050
  return this.#cachedJsonLd;
14041
14051
  }
@@ -14413,6 +14423,11 @@ var Measure = class {
14413
14423
  get _warning() {
14414
14424
  return this.#warning;
14415
14425
  }
14426
+ /**
14427
+ * Internal cross-package contract with @fedify/testing, which copies this
14428
+ * cache when attaching document loaders to an activity clone. Keep this
14429
+ * accessor name and its getter/setter semantics stable.
14430
+ */
14416
14431
  get _cachedJsonLd() {
14417
14432
  return this.#cachedJsonLd;
14418
14433
  }
@@ -15811,6 +15826,11 @@ var InteractionPolicy = class {
15811
15826
  get _warning() {
15812
15827
  return this.#warning;
15813
15828
  }
15829
+ /**
15830
+ * Internal cross-package contract with @fedify/testing, which copies this
15831
+ * cache when attaching document loaders to an activity clone. Keep this
15832
+ * accessor name and its getter/setter semantics stable.
15833
+ */
15814
15834
  get _cachedJsonLd() {
15815
15835
  return this.#cachedJsonLd;
15816
15836
  }
@@ -16324,6 +16344,11 @@ var InteractionRule = class {
16324
16344
  get _warning() {
16325
16345
  return this.#warning;
16326
16346
  }
16347
+ /**
16348
+ * Internal cross-package contract with @fedify/testing, which copies this
16349
+ * cache when attaching document loaders to an activity clone. Keep this
16350
+ * accessor name and its getter/setter semantics stable.
16351
+ */
16327
16352
  get _cachedJsonLd() {
16328
16353
  return this.#cachedJsonLd;
16329
16354
  }
@@ -19800,6 +19825,11 @@ var Translation = class {
19800
19825
  get _warning() {
19801
19826
  return this.#warning;
19802
19827
  }
19828
+ /**
19829
+ * Internal cross-package contract with @fedify/testing, which copies this
19830
+ * cache when attaching document loaders to an activity clone. Keep this
19831
+ * accessor name and its getter/setter semantics stable.
19832
+ */
19803
19833
  get _cachedJsonLd() {
19804
19834
  return this.#cachedJsonLd;
19805
19835
  }
@@ -27485,6 +27515,11 @@ var DidService = class {
27485
27515
  get _warning() {
27486
27516
  return this.#warning;
27487
27517
  }
27518
+ /**
27519
+ * Internal cross-package contract with @fedify/testing, which copies this
27520
+ * cache when attaching document loaders to an activity clone. Keep this
27521
+ * accessor name and its getter/setter semantics stable.
27522
+ */
27488
27523
  get _cachedJsonLd() {
27489
27524
  return this.#cachedJsonLd;
27490
27525
  }
@@ -28001,6 +28036,11 @@ var DataIntegrityProof = class {
28001
28036
  get _warning() {
28002
28037
  return this.#warning;
28003
28038
  }
28039
+ /**
28040
+ * Internal cross-package contract with @fedify/testing, which copies this
28041
+ * cache when attaching document loaders to an activity clone. Keep this
28042
+ * accessor name and its getter/setter semantics stable.
28043
+ */
28004
28044
  get _cachedJsonLd() {
28005
28045
  return this.#cachedJsonLd;
28006
28046
  }
@@ -28692,6 +28732,11 @@ var CryptographicKey = class {
28692
28732
  get _warning() {
28693
28733
  return this.#warning;
28694
28734
  }
28735
+ /**
28736
+ * Internal cross-package contract with @fedify/testing, which copies this
28737
+ * cache when attaching document loaders to an activity clone. Keep this
28738
+ * accessor name and its getter/setter semantics stable.
28739
+ */
28695
28740
  get _cachedJsonLd() {
28696
28741
  return this.#cachedJsonLd;
28697
28742
  }
@@ -29364,6 +29409,11 @@ var Multikey = class {
29364
29409
  get _warning() {
29365
29410
  return this.#warning;
29366
29411
  }
29412
+ /**
29413
+ * Internal cross-package contract with @fedify/testing, which copies this
29414
+ * cache when attaching document loaders to an activity clone. Keep this
29415
+ * accessor name and its getter/setter semantics stable.
29416
+ */
29367
29417
  get _cachedJsonLd() {
29368
29418
  return this.#cachedJsonLd;
29369
29419
  }
@@ -30436,6 +30486,11 @@ var Commitment = class {
30436
30486
  get _warning() {
30437
30487
  return this.#warning;
30438
30488
  }
30489
+ /**
30490
+ * Internal cross-package contract with @fedify/testing, which copies this
30491
+ * cache when attaching document loaders to an activity clone. Keep this
30492
+ * accessor name and its getter/setter semantics stable.
30493
+ */
30439
30494
  get _cachedJsonLd() {
30440
30495
  return this.#cachedJsonLd;
30441
30496
  }
@@ -30827,6 +30882,11 @@ var Intent = class {
30827
30882
  get _warning() {
30828
30883
  return this.#warning;
30829
30884
  }
30885
+ /**
30886
+ * Internal cross-package contract with @fedify/testing, which copies this
30887
+ * cache when attaching document loaders to an activity clone. Keep this
30888
+ * accessor name and its getter/setter semantics stable.
30889
+ */
30830
30890
  get _cachedJsonLd() {
30831
30891
  return this.#cachedJsonLd;
30832
30892
  }
@@ -42251,6 +42311,11 @@ var Endpoints = class {
42251
42311
  get _warning() {
42252
42312
  return this.#warning;
42253
42313
  }
42314
+ /**
42315
+ * Internal cross-package contract with @fedify/testing, which copies this
42316
+ * cache when attaching document loaders to an activity clone. Keep this
42317
+ * accessor name and its getter/setter semantics stable.
42318
+ */
42254
42319
  get _cachedJsonLd() {
42255
42320
  return this.#cachedJsonLd;
42256
42321
  }
@@ -49032,6 +49097,11 @@ var Link = class Link {
49032
49097
  get _warning() {
49033
49098
  return this.#warning;
49034
49099
  }
49100
+ /**
49101
+ * Internal cross-package contract with @fedify/testing, which copies this
49102
+ * cache when attaching document loaders to an activity clone. Keep this
49103
+ * accessor name and its getter/setter semantics stable.
49104
+ */
49035
49105
  get _cachedJsonLd() {
49036
49106
  return this.#cachedJsonLd;
49037
49107
  }
@@ -75152,6 +75222,11 @@ var Source = class {
75152
75222
  get _warning() {
75153
75223
  return this.#warning;
75154
75224
  }
75225
+ /**
75226
+ * Internal cross-package contract with @fedify/testing, which copies this
75227
+ * cache when attaching document loaders to an activity clone. Keep this
75228
+ * accessor name and its getter/setter semantics stable.
75229
+ */
75155
75230
  get _cachedJsonLd() {
75156
75231
  return this.#cachedJsonLd;
75157
75232
  }
@@ -77784,7 +77859,8 @@ async function getPortableActorHandle(actor, actorId, options) {
77784
77859
  const result = await lookupWebFinger(handle, {
77785
77860
  userAgent: options.userAgent,
77786
77861
  tracerProvider: options.tracerProvider,
77787
- meterProvider: options.meterProvider
77862
+ meterProvider: options.meterProvider,
77863
+ allowPrivateAddress: "allowPrivateAddress" in options && options.allowPrivateAddress === true
77788
77864
  });
77789
77865
  if (result == null || !linksToPortableActor(result, canonicalId)) throw new ActorHandleNotFoundError();
77790
77866
  const subject = result.subject?.match(/^acct:([^@]+)@([^@]+)$/);
@@ -77792,7 +77868,8 @@ async function getPortableActorHandle(actor, actorId, options) {
77792
77868
  const subjectResult = await lookupWebFinger(result.subject, {
77793
77869
  userAgent: options.userAgent,
77794
77870
  tracerProvider: options.tracerProvider,
77795
- meterProvider: options.meterProvider
77871
+ meterProvider: options.meterProvider,
77872
+ allowPrivateAddress: "allowPrivateAddress" in options && options.allowPrivateAddress === true
77796
77873
  });
77797
77874
  if (subjectResult != null && linksToPortableActor(subjectResult, canonicalId)) return normalizeActorHandle(`@${subject[1]}@${subject[2]}`, options);
77798
77875
  }
@@ -77981,6 +78058,20 @@ const logger = getLogger([
77981
78058
  "lookup"
77982
78059
  ]);
77983
78060
  /**
78061
+ * Options for the {@link lookupObject} function.
78062
+ *
78063
+ * @since 0.2.0
78064
+ */
78065
+ /**
78066
+ * The key of the {@link LookupObjectOptions} property that observes how
78067
+ * {@link lookupObject} selects the object it returns.
78068
+ *
78069
+ * @internal Technically exported for other Fedify packages, but not part of
78070
+ * the public API contract. This is not considered public API for Semantic
78071
+ * Versioning decisions.
78072
+ */
78073
+ const lookupObserver = Symbol.for("@fedify/vocab/lookupObserver");
78074
+ /**
77984
78075
  * The maximum number of requests to FEP-ef61 gateways that a single
77985
78076
  * {@link lookupObject} call makes for portable objects. Gateways come from
77986
78077
  * possibly untrusted WebFinger responses and location hints, so they are
@@ -78100,8 +78191,13 @@ async function lookupObjectInternal(identifier, options = {}) {
78100
78191
  remoteDoc = await documentLoader(identifier.href, { signal: options.signal });
78101
78192
  } catch (error) {
78102
78193
  logger.debug("Failed to fetch remote document:\n{error}", { error });
78194
+ options[lookupObserver]?.failed?.({
78195
+ operation: "fetch",
78196
+ error
78197
+ });
78103
78198
  }
78104
78199
  }
78200
+ if (remoteDoc == null && options[lookupObserver]?.webFinger === false) return null;
78105
78201
  if (remoteDoc == null) {
78106
78202
  const jrd = await lookupWebFinger(identifier, {
78107
78203
  userAgent: options.userAgent,
@@ -78146,7 +78242,7 @@ async function lookupObjectInternal(identifier, options = {}) {
78146
78242
  }
78147
78243
  }
78148
78244
  if (remoteDoc == null) return null;
78149
- const snapshot = options.verifyPortableObject == null ? null : createSnapshotContextLoader(options.contextLoader ?? getDocumentLoader({ userAgent: options.userAgent }));
78245
+ const snapshot = options.verifyPortableObject == null && options[lookupObserver] == null ? null : createSnapshotContextLoader(options.contextLoader ?? getDocumentLoader({ userAgent: options.userAgent }));
78150
78246
  try {
78151
78247
  let object;
78152
78248
  let documentUrl;
@@ -78160,6 +78256,10 @@ async function lookupObjectInternal(identifier, options = {}) {
78160
78256
  baseUrl: documentUrl
78161
78257
  });
78162
78258
  } catch (error) {
78259
+ options[lookupObserver]?.failed?.({
78260
+ operation: "parse",
78261
+ error
78262
+ });
78163
78263
  if (error instanceof TypeError) {
78164
78264
  logger.debug("Failed to parse JSON-LD document: {error}\n{document}", {
78165
78265
  ...remoteDoc,
@@ -78169,7 +78269,7 @@ async function lookupObjectInternal(identifier, options = {}) {
78169
78269
  }
78170
78270
  throw error;
78171
78271
  }
78172
- if (snapshot != null) {
78272
+ if (options.verifyPortableObject != null && snapshot != null) {
78173
78273
  const claim = getPortableResponseClaim(remoteDoc.documentUrl, object.id);
78174
78274
  if (claim === null) {
78175
78275
  logger.debug("Refusing the document {documentUrl}, as it claims to be a portable object with a malformed compatible identifier.", { documentUrl: remoteDoc.documentUrl });
@@ -78188,8 +78288,16 @@ async function lookupObjectInternal(identifier, options = {}) {
78188
78288
  ...remoteDoc,
78189
78289
  objectId: object.id.href
78190
78290
  });
78291
+ options[lookupObserver]?.failed?.({ operation: "origin" });
78191
78292
  return null;
78192
78293
  }
78294
+ if (!await acceptCandidate(options[lookupObserver], {
78295
+ document: remoteDoc.document,
78296
+ documentUrl: remoteDoc.documentUrl,
78297
+ baseUrl: documentUrl,
78298
+ contextLoader: snapshot?.loader ?? options.contextLoader ?? getDocumentLoader({ userAgent: options.userAgent }),
78299
+ object
78300
+ })) return null;
78193
78301
  return object;
78194
78302
  } finally {
78195
78303
  snapshot?.release();
@@ -78303,6 +78411,7 @@ async function dereference({ options, documentLoader }, id, inferredGateways, ga
78303
78411
  verifyPortableObject: options.verifyPortableObject,
78304
78412
  crossOrigin: options.crossOrigin === "throw" ? "throw" : "ignore",
78305
78413
  signal: options.signal,
78414
+ observer: options[lookupObserver],
78306
78415
  parse: (document, { contextLoader, baseUrl }) => Object$1.fromJsonLd(document, {
78307
78416
  documentLoader,
78308
78417
  contextLoader,
@@ -78351,4 +78460,4 @@ async function* traverseCollection(collection, options = {}) {
78351
78460
  }
78352
78461
  }
78353
78462
  //#endregion
78354
- export { Accept, Activity, Add, Agreement, Announce, AnnounceAuthorization, AnnounceRequest, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Commitment, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, FeatureAuthorization, FeatureRequest, FeaturedCollection, FeaturedItem, Flag, Follow, Group, Hashtag, Ignore, Image, Intent, InteractionPolicy, InteractionRule, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, LikeAuthorization, LikeRequest, Link, Listen, Measure, Mention, Move, Multikey, Note, Object$1 as Object, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, Person, Place, Profile, PropertyValue, Proposal, Question, QuoteAuthorization, QuoteRequest, Read, Reject, Relationship, Remove, ReplyAuthorization, ReplyRequest, Service, Source, TentativeAccept, TentativeReject, Tombstone, Translation, Travel, Undo, Update, Video, View, getActorClassByTypeName, getActorHandle, getActorTypeName, getEntityTypeById, getTypeId, isActor, isEntityType, isFediverseHandle, lookupObject, normalizeActorHandle, normalizeLinkToImage, parseFediverseHandle, toAcctUrl, traverseCollection };
78463
+ export { Accept, Activity, Add, Agreement, Announce, AnnounceAuthorization, AnnounceRequest, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Commitment, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, FeatureAuthorization, FeatureRequest, FeaturedCollection, FeaturedItem, Flag, Follow, Group, Hashtag, Ignore, Image, Intent, InteractionPolicy, InteractionRule, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, LikeAuthorization, LikeRequest, Link, Listen, Measure, Mention, Move, Multikey, Note, Object$1 as Object, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, Person, Place, Profile, PropertyValue, Proposal, Question, QuoteAuthorization, QuoteRequest, Read, Reject, Relationship, Remove, ReplyAuthorization, ReplyRequest, Service, Source, TentativeAccept, TentativeReject, Tombstone, Translation, Travel, Undo, Update, Video, View, getActorClassByTypeName, getActorHandle, getActorTypeName, getEntityTypeById, getTypeId, isActor, isEntityType, isFediverseHandle, lookupObject, lookupObserver, normalizeActorHandle, normalizeLinkToImage, parseFediverseHandle, toAcctUrl, traverseCollection };
@@ -1,14 +1,14 @@
1
1
  import "temporal-polyfill";
2
2
  globalThis.addEventListener = () => {};
3
- import { F as Person, P as Organization, U as Service, a as Application, b as Group } from "./vocab-jHKm_LJ6.mjs";
4
3
  import { t as getTypeId } from "./type-BMdjm4Eg.mjs";
4
+ import { F as Person, P as Organization, U as Service, a as Application, b as Group } from "./vocab-BMEyHiOV.mjs";
5
5
  import { canonicalizePortableUri, formatIri, fromCompatibleEf61Id, isGatewayUrl } from "@fedify/vocab-runtime";
6
6
  import { lookupWebFinger } from "@fedify/webfinger";
7
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { domainToASCII, domainToUnicode } from "node:url";
9
9
  //#region deno.json
10
10
  var name = "@fedify/vocab";
11
- var version = "2.5.0-dev.2446+2014cb03";
11
+ var version = "2.5.0-dev.2492+4648c04e";
12
12
  //#endregion
13
13
  //#region src/actor.ts
14
14
  const ACTOR_DISCOVERY_HISTOGRAM_BUCKETS = [
@@ -206,7 +206,8 @@ async function getPortableActorHandle(actor, actorId, options) {
206
206
  const result = await lookupWebFinger(handle, {
207
207
  userAgent: options.userAgent,
208
208
  tracerProvider: options.tracerProvider,
209
- meterProvider: options.meterProvider
209
+ meterProvider: options.meterProvider,
210
+ allowPrivateAddress: "allowPrivateAddress" in options && options.allowPrivateAddress === true
210
211
  });
211
212
  if (result == null || !linksToPortableActor(result, canonicalId)) throw new ActorHandleNotFoundError();
212
213
  const subject = result.subject?.match(/^acct:([^@]+)@([^@]+)$/);
@@ -214,7 +215,8 @@ async function getPortableActorHandle(actor, actorId, options) {
214
215
  const subjectResult = await lookupWebFinger(result.subject, {
215
216
  userAgent: options.userAgent,
216
217
  tracerProvider: options.tracerProvider,
217
- meterProvider: options.meterProvider
218
+ meterProvider: options.meterProvider,
219
+ allowPrivateAddress: "allowPrivateAddress" in options && options.allowPrivateAddress === true
218
220
  });
219
221
  if (subjectResult != null && linksToPortableActor(subjectResult, canonicalId)) return normalizeActorHandle(`@${subject[1]}@${subject[2]}`, options);
220
222
  }
@@ -1,8 +1,9 @@
1
1
  import "temporal-polyfill";
2
2
  globalThis.addEventListener = () => {};
3
- import { $ as __exportAll, F as Person, P as Organization, U as Service, a as Application, b as Group } from "./vocab-jHKm_LJ6.mjs";
4
- import { t as esm_default } from "./esm-DtAfYdqR.mjs";
5
- import { a as normalizeActorHandle, i as isActor, n as getActorHandle, r as getActorTypeName, t as getActorClassByTypeName } from "./actor-C89Bex4F.mjs";
3
+ import { n as __exportAll } from "./rolldown-runtime-BWJg4WE8.mjs";
4
+ import { t as esm_default } from "./esm-BIqRhjGA.mjs";
5
+ import { a as normalizeActorHandle, i as isActor, n as getActorHandle, r as getActorTypeName, t as getActorClassByTypeName } from "./actor-BjUFWXfi.mjs";
6
+ import { F as Person, P as Organization, U as Service, a as Application, b as Group } from "./vocab-BMEyHiOV.mjs";
6
7
  import { createTestMeterProvider, test } from "@fedify/fixture";
7
8
  import { deepStrictEqual, ok, rejects, strictEqual, throws } from "node:assert/strict";
8
9
  //#region ../../node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/precondition/PreconditionFailure.js
@@ -1,6 +1,6 @@
1
1
  import "temporal-polyfill";
2
2
  globalThis.addEventListener = () => {};
3
- import { Q as __commonJSMin, et as __toESM } from "./vocab-jHKm_LJ6.mjs";
3
+ import { i as __toESM, t as __commonJSMin } from "./rolldown-runtime-BWJg4WE8.mjs";
4
4
  //#endregion
5
5
  //#region ../../node_modules/.pnpm/regexparam@3.0.0/node_modules/regexparam/dist/index.mjs
6
6
  var import_glob_to_regexp = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -1,8 +1,8 @@
1
1
  import "temporal-polyfill";
2
2
  globalThis.addEventListener = () => {};
3
- import { F as Person, M as OrderedCollection, S as Image, c as CollectionPage, k as Note, s as Collection, u as Create } from "./vocab-jHKm_LJ6.mjs";
4
- import { t as esm_default } from "./esm-DtAfYdqR.mjs";
5
- import { n as traverseCollection, t as lookupObject } from "./lookup-BehNGq4X.mjs";
3
+ import { t as esm_default } from "./esm-BIqRhjGA.mjs";
4
+ import { F as Person, M as OrderedCollection, S as Image, c as CollectionPage, k as Note, s as Collection, u as Create } from "./vocab-BMEyHiOV.mjs";
5
+ import { r as traverseCollection, t as lookupObject } from "./lookup-BQqIkZ5j.mjs";
6
6
  import { t as assertInstanceOf } from "./utils-Df2odC27.mjs";
7
7
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
8
8
  import { deepStrictEqual, ok, rejects } from "node:assert/strict";
@@ -597,7 +597,7 @@ test("getObject() sends the ActivityStreams Accept header to gateways", {
597
597
  });
598
598
  try {
599
599
  assertInstanceOf(await (await createActivity()).getObject({
600
- documentLoader: getDocumentLoader(),
600
+ documentLoader: getDocumentLoader({ allowPrivateAddress: true }),
601
601
  contextLoader: mockDocumentLoader,
602
602
  gateways: ["https://example.com"],
603
603
  verifyPortableObject: createVerifier()
@@ -1,7 +1,7 @@
1
1
  import "temporal-polyfill";
2
2
  globalThis.addEventListener = () => {};
3
- import { E as Link, F as Person, J as Video, P as Organization, S as Image, U as Service, a as Application, b as Group, k as Note, s as Collection, u as Create, z as Question } from "./vocab-jHKm_LJ6.mjs";
4
- import "./src-fpZm9WyF.mjs";
3
+ import { E as Link, F as Person, J as Video, P as Organization, S as Image, U as Service, a as Application, b as Group, k as Note, s as Collection, u as Create, z as Question } from "./vocab-BMEyHiOV.mjs";
4
+ import "./src-DQiQQv6h.mjs";
5
5
  import { test } from "@fedify/fixture";
6
6
  import { deepStrictEqual, ok } from "node:assert/strict";
7
7
  import { getDocumentLoader, preloadedContexts } from "@fedify/vocab-runtime";