@fedify/fedify 0.11.0-dev.245 → 0.11.0-dev.251
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/CHANGES.md +1 -64
- package/esm/federation/handler.js +2 -2
- package/esm/federation/middleware.js +0 -80
- package/esm/sig/proof.js +16 -6
- package/esm/vocab/application.yaml +0 -14
- package/esm/vocab/collection.yaml +1 -8
- package/esm/vocab/collectionpage.yaml +1 -7
- package/esm/vocab/group.yaml +0 -14
- package/esm/vocab/orderedcollection.yaml +1 -8
- package/esm/vocab/orderedcollectionpage.yaml +1 -7
- package/esm/vocab/organization.yaml +0 -14
- package/esm/vocab/person.yaml +0 -14
- package/esm/vocab/service.yaml +0 -14
- package/esm/vocab/vocab.js +1822 -1958
- package/package.json +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_dumper/dumper.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_dumper/dumper_state.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_error.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_loader/loader.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_loader/loader_state.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_mark.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_state.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/binary.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/bool.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/float.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/function.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/int.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/map.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/merge.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/mod.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/nil.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/omap.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/pairs.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/regexp.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/seq.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/set.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/str.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/timestamp.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/undefined.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_utils.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/mod.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/0.224.3/parse.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/core.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/default.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/extended.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/failsafe.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/json.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/0.224.3/schema/mod.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/0.224.3/stringify.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/type.d.ts.map +1 -1
- package/types/federation/context.d.ts +0 -17
- package/types/federation/context.d.ts.map +1 -1
- package/types/federation/handler.d.ts +2 -2
- package/types/federation/handler.d.ts.map +1 -1
- package/types/federation/middleware.d.ts +1 -14
- package/types/federation/middleware.d.ts.map +1 -1
- package/types/sig/proof.d.ts +1 -1
- package/types/sig/proof.d.ts.map +1 -1
- package/types/testing/context.d.ts.map +1 -1
- package/types/vocab/vocab.d.ts +10 -100
- package/types/vocab/vocab.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/yaml/0.224.2/parse.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/0.224.2/schema/mod.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/yaml/0.224.2/stringify.d.ts.map +0 -1
package/CHANGES.md
CHANGED
|
@@ -25,10 +25,6 @@ To be released.
|
|
|
25
25
|
- Added `Context.getFeaturedUri()` method.
|
|
26
26
|
- Added `{ type: "featured"; handle: string }` case to `ParseUriResult`
|
|
27
27
|
type.
|
|
28
|
-
- Added `Federation.setFeaturedTagsDispatcher()` method.
|
|
29
|
-
- Added `Context.getFeaturedTagsUri()` method.
|
|
30
|
-
- Added `{ type: "featuredTags"; handle: string }` case to
|
|
31
|
-
`ParseUriResult` type.
|
|
32
28
|
|
|
33
29
|
- Frequently used JSON-LD contexts are now preloaded. [[#74]]
|
|
34
30
|
|
|
@@ -53,64 +49,15 @@ To be released.
|
|
|
53
49
|
- `Collection.current`
|
|
54
50
|
- `Collection.first`
|
|
55
51
|
- `Collection.last`
|
|
52
|
+
- `Collection.items`
|
|
56
53
|
- `CollectionPage.partOf`
|
|
57
54
|
- `CollectionPage.next`
|
|
58
55
|
- `CollectionPage.prev`
|
|
59
56
|
|
|
60
|
-
- Added `featured` property to `Actor` types in Activity Vocabulary API.
|
|
61
|
-
[[#78]]
|
|
62
|
-
|
|
63
|
-
- Added `Application.getFeatured()` method.
|
|
64
|
-
- Added `Application.featuredId` property.
|
|
65
|
-
- `new Application()` constructor now accepts `featured` option.
|
|
66
|
-
- `Application.clone()` method now accepts `featured` option.
|
|
67
|
-
- Added `Group.getFeatured()` method.
|
|
68
|
-
- Added `Group.featuredId` property.
|
|
69
|
-
- `new Group()` constructor now accepts `featured` option.
|
|
70
|
-
- `Group.clone()` method now accepts `featured` option.
|
|
71
|
-
- Added `Organization.getFeatured()` method.
|
|
72
|
-
- Added `Organization.featuredId` property.
|
|
73
|
-
- `new Organization()` constructor now accepts `featured` option.
|
|
74
|
-
- `Organization.clone()` method now accepts `featured` option.
|
|
75
|
-
- Added `Person.getFeatured()` method.
|
|
76
|
-
- Added `Person.featuredId` property.
|
|
77
|
-
- `new Person()` constructor now accepts `featured` option.
|
|
78
|
-
- `Person.clone()` method now accepts `featured` option.
|
|
79
|
-
- Added `Service.getFeatured()` method.
|
|
80
|
-
- Added `Service.featuredId` property.
|
|
81
|
-
- `new Service()` constructor now accepts `featured` option.
|
|
82
|
-
- `Service.clone()` method now accepts `featured` option.
|
|
83
|
-
|
|
84
|
-
- Added `featuredTags` property to `Actor` types in Activity Vocabulary API.
|
|
85
|
-
[[#78]]
|
|
86
|
-
|
|
87
|
-
- Added `Application.getFeaturedTags()` method.
|
|
88
|
-
- Added `Application.featuredTagsId` property.
|
|
89
|
-
- `new Application()` constructor now accepts `featuredTags` option.
|
|
90
|
-
- `Application.clone()` method now accepts `featuredTags` option.
|
|
91
|
-
- Added `Group.getFeaturedTags()` method.
|
|
92
|
-
- Added `Group.featuredTagsId` property.
|
|
93
|
-
- `new Group()` constructor now accepts `featuredTags` option.
|
|
94
|
-
- `Group.clone()` method now accepts `featuredTags` option.
|
|
95
|
-
- Added `Organization.getFeaturedTags()` method.
|
|
96
|
-
- Added `Organization.featuredTagsId` property.
|
|
97
|
-
- `new Organization()` constructor now accepts `featuredTags` option.
|
|
98
|
-
- `Organization.clone()` method now accepts `featuredTags` option.
|
|
99
|
-
- Added `Person.getFeaturedTags()` method.
|
|
100
|
-
- Added `Person.featuredTagsId` property.
|
|
101
|
-
- `new Person()` constructor now accepts `featuredTags` option.
|
|
102
|
-
- `Person.clone()` method now accepts `featuredTags` option.
|
|
103
|
-
- Added `Service.getFeaturedTags()` method.
|
|
104
|
-
- Added `Service.featuredTagsId` property.
|
|
105
|
-
- `new Service()` constructor now accepts `featuredTags` option.
|
|
106
|
-
- `Service.clone()` method now accepts `featuredTags` option.
|
|
107
|
-
|
|
108
57
|
- Added `target` property to `Activity` class in Activity Vocabulary API.
|
|
109
58
|
|
|
110
59
|
- Added `Activity.getTarget()` method.
|
|
111
60
|
- Added `Activity.getTargets()` method.
|
|
112
|
-
- Added `Activity.targetId` property.
|
|
113
|
-
- Added `Activity.targetIds` property.
|
|
114
61
|
- `new Activity()` constructor now accepts `target` option.
|
|
115
62
|
- `new Activity()` constructor now accepts `targets` option.
|
|
116
63
|
- `Activity.clone()` method now accepts `target` option.
|
|
@@ -120,8 +67,6 @@ To be released.
|
|
|
120
67
|
|
|
121
68
|
- Added `Activity.getResult()` method.
|
|
122
69
|
- Added `Activity.getResults()` method.
|
|
123
|
-
- Added `Activity.resultId` property.
|
|
124
|
-
- Added `Activity.resultIds` property.
|
|
125
70
|
- `new Activity()` constructor now accepts `result` option.
|
|
126
71
|
- `new Activity()` constructor now accepts `results` option.
|
|
127
72
|
- `Activity.clone()` method now accepts `result` option.
|
|
@@ -131,8 +76,6 @@ To be released.
|
|
|
131
76
|
|
|
132
77
|
- Added `Activity.getOrigin()` method.
|
|
133
78
|
- Added `Activity.getOrigins()` method.
|
|
134
|
-
- Added `Activity.originId` property.
|
|
135
|
-
- Added `Activity.originIds` property.
|
|
136
79
|
- `new Activity()` constructor now accepts `origin` option.
|
|
137
80
|
- `new Activity()` constructor now accepts `origins` option.
|
|
138
81
|
- `Activity.clone()` method now accepts `origin` option.
|
|
@@ -142,8 +85,6 @@ To be released.
|
|
|
142
85
|
|
|
143
86
|
- Added `Activity.getInstrument()` method.
|
|
144
87
|
- Added `Activity.getInstruments()` method.
|
|
145
|
-
- Added `Activity.instrumentId` property.
|
|
146
|
-
- Added `Activity.instrumentIds` property.
|
|
147
88
|
- `new Activity()` constructor now accepts `instrument` option.
|
|
148
89
|
- `new Activity()` constructor now accepts `instruments` option.
|
|
149
90
|
- `Activity.clone()` method now accepts `instrument` option.
|
|
@@ -162,10 +103,6 @@ To be released.
|
|
|
162
103
|
- Renamed `InboxListenerSetter` interface to `InboxListenerSetters`.
|
|
163
104
|
- Added `InboxListenerSetters.setSharedKeyDispatcher()` method.
|
|
164
105
|
|
|
165
|
-
- Followed up the [change in `eddsa-jcs-2022` specification][eddsa-jcs-2022]
|
|
166
|
-
for Object Integrity Proofs. [[FEP-8b32], [#54]]
|
|
167
|
-
|
|
168
|
-
[eddsa-jcs-2022]: https://codeberg.org/fediverse/fep/pulls/338
|
|
169
106
|
[#71]: https://github.com/dahlia/fedify/issues/71
|
|
170
107
|
[#74]: https://github.com/dahlia/fedify/issues/74
|
|
171
108
|
[#76]: https://github.com/dahlia/fedify/pull/76
|
|
@@ -4,7 +4,7 @@ import { accepts } from "../deps/jsr.io/@std/http/0.224.5/negotiation.js";
|
|
|
4
4
|
import { verifyRequest } from "../sig/http.js";
|
|
5
5
|
import { doesActorOwnKey } from "../sig/owner.js";
|
|
6
6
|
import { verifyObject } from "../sig/proof.js";
|
|
7
|
-
import { Activity,
|
|
7
|
+
import { Activity, Object, OrderedCollection, OrderedCollectionPage, } from "../vocab/vocab.js";
|
|
8
8
|
export function acceptsJsonLd(request) {
|
|
9
9
|
const types = accepts(request);
|
|
10
10
|
if (types == null)
|
|
@@ -146,7 +146,7 @@ function filterCollectionItems(items, collectionName, filterPredicate) {
|
|
|
146
146
|
let logged = false;
|
|
147
147
|
for (const item of items) {
|
|
148
148
|
let mappedItem;
|
|
149
|
-
if (item instanceof Object || item instanceof
|
|
149
|
+
if (item instanceof Object || item instanceof URL) {
|
|
150
150
|
mappedItem = item;
|
|
151
151
|
}
|
|
152
152
|
else if (item.id == null)
|
|
@@ -49,7 +49,6 @@ export class Federation {
|
|
|
49
49
|
#followersCallbacks;
|
|
50
50
|
#likedCallbacks;
|
|
51
51
|
#featuredCallbacks;
|
|
52
|
-
#featuredTagsCallbacks;
|
|
53
52
|
#inboxListeners;
|
|
54
53
|
#inboxErrorHandler;
|
|
55
54
|
#sharedInboxKeyDispatcher;
|
|
@@ -349,20 +348,6 @@ export class Federation {
|
|
|
349
348
|
"URI. Set the property with Context.getFeaturedUri(handle).");
|
|
350
349
|
}
|
|
351
350
|
}
|
|
352
|
-
if (this.#featuredTagsCallbacks != null &&
|
|
353
|
-
this.#featuredTagsCallbacks.dispatcher != null) {
|
|
354
|
-
if (actor?.featuredTagsId == null) {
|
|
355
|
-
logger.warn("You configured a featured tags collection dispatcher, but the " +
|
|
356
|
-
"actor does not have a featuredTags property. Set the property " +
|
|
357
|
-
"with Context.getFeaturedTagsUri(handle).");
|
|
358
|
-
}
|
|
359
|
-
else if (actor.featuredTagsId.href != context.getFeaturedTagsUri(handle).href) {
|
|
360
|
-
logger.warn("You configured a featured tags collection dispatcher, but the " +
|
|
361
|
-
"actor's featuredTags property does not match the featured tags " +
|
|
362
|
-
"collection URI. Set the property with " +
|
|
363
|
-
"Context.getFeaturedTagsUri(handle).");
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
351
|
if (this.#router.has("inbox")) {
|
|
367
352
|
if (actor.inboxId == null) {
|
|
368
353
|
logger.warn("You configured inbox listeners, but the actor does not " +
|
|
@@ -731,51 +716,6 @@ export class Federation {
|
|
|
731
716
|
};
|
|
732
717
|
return setters;
|
|
733
718
|
}
|
|
734
|
-
/**
|
|
735
|
-
* Registers a featured tags collection dispatcher.
|
|
736
|
-
* @param path The URI path pattern for the featured tags collection.
|
|
737
|
-
* The syntax is based on URI Template
|
|
738
|
-
* ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
|
|
739
|
-
* must have one variable: `{handle}`.
|
|
740
|
-
* @param dispatcher A featured tags collection callback to register.
|
|
741
|
-
* @returns An object with methods to set other featured tags collection
|
|
742
|
-
* callbacks.
|
|
743
|
-
* @throws {@link RouterError} Thrown if the path pattern is invalid.
|
|
744
|
-
* @since 0.11.0
|
|
745
|
-
*/
|
|
746
|
-
setFeaturedTagsDispatcher(path, dispatcher) {
|
|
747
|
-
if (this.#router.has("featuredTags")) {
|
|
748
|
-
throw new RouterError("Featured tags collection dispatcher already set.");
|
|
749
|
-
}
|
|
750
|
-
const variables = this.#router.add(path, "featuredTags");
|
|
751
|
-
if (variables.size !== 1 || !variables.has("handle")) {
|
|
752
|
-
throw new RouterError("Path for featured tags collection dispatcher must have one " +
|
|
753
|
-
"variable: {handle}");
|
|
754
|
-
}
|
|
755
|
-
const callbacks = {
|
|
756
|
-
dispatcher,
|
|
757
|
-
};
|
|
758
|
-
this.#featuredTagsCallbacks = callbacks;
|
|
759
|
-
const setters = {
|
|
760
|
-
setCounter(counter) {
|
|
761
|
-
callbacks.counter = counter;
|
|
762
|
-
return setters;
|
|
763
|
-
},
|
|
764
|
-
setFirstCursor(cursor) {
|
|
765
|
-
callbacks.firstCursor = cursor;
|
|
766
|
-
return setters;
|
|
767
|
-
},
|
|
768
|
-
setLastCursor(cursor) {
|
|
769
|
-
callbacks.lastCursor = cursor;
|
|
770
|
-
return setters;
|
|
771
|
-
},
|
|
772
|
-
authorize(predicate) {
|
|
773
|
-
callbacks.authorizePredicate = predicate;
|
|
774
|
-
return setters;
|
|
775
|
-
},
|
|
776
|
-
};
|
|
777
|
-
return setters;
|
|
778
|
-
}
|
|
779
719
|
/**
|
|
780
720
|
* Assigns the URL path for the inbox and starts setting inbox listeners.
|
|
781
721
|
*
|
|
@@ -1122,16 +1062,6 @@ export class Federation {
|
|
|
1122
1062
|
onNotFound,
|
|
1123
1063
|
onNotAcceptable,
|
|
1124
1064
|
});
|
|
1125
|
-
case "featuredTags":
|
|
1126
|
-
return await handleCollection(request, {
|
|
1127
|
-
name: "featured tags",
|
|
1128
|
-
handle: route.values.handle,
|
|
1129
|
-
context,
|
|
1130
|
-
collectionCallbacks: this.#featuredTagsCallbacks,
|
|
1131
|
-
onUnauthorized,
|
|
1132
|
-
onNotFound,
|
|
1133
|
-
onNotAcceptable,
|
|
1134
|
-
});
|
|
1135
1065
|
default: {
|
|
1136
1066
|
const response = onNotFound(request);
|
|
1137
1067
|
return response instanceof Promise ? await response : response;
|
|
@@ -1244,13 +1174,6 @@ class ContextImpl {
|
|
|
1244
1174
|
}
|
|
1245
1175
|
return new URL(path, this.#url);
|
|
1246
1176
|
}
|
|
1247
|
-
getFeaturedTagsUri(handle) {
|
|
1248
|
-
const path = this.#router.build("featuredTags", { handle });
|
|
1249
|
-
if (path == null) {
|
|
1250
|
-
throw new RouterError("No featured tags collection path registered.");
|
|
1251
|
-
}
|
|
1252
|
-
return new URL(path, this.#url);
|
|
1253
|
-
}
|
|
1254
1177
|
parseUri(uri) {
|
|
1255
1178
|
if (uri.origin !== this.#url.origin)
|
|
1256
1179
|
return null;
|
|
@@ -1290,9 +1213,6 @@ class ContextImpl {
|
|
|
1290
1213
|
else if (route.name === "featured") {
|
|
1291
1214
|
return { type: "featured", handle: route.values.handle };
|
|
1292
1215
|
}
|
|
1293
|
-
else if (route.name === "featuredTags") {
|
|
1294
|
-
return { type: "featuredTags", handle: route.values.handle };
|
|
1295
|
-
}
|
|
1296
1216
|
return null;
|
|
1297
1217
|
}
|
|
1298
1218
|
getHandleFromActorUri(actorUri) {
|
package/esm/sig/proof.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as dntShim from "../_dnt.shims.js";
|
|
2
|
-
import { Activity, Multikey } from "../vocab/mod.js";
|
|
3
|
-
import { getLogger } from "@logtape/logtape";
|
|
4
2
|
// @ts-ignore: json-canon is not typed
|
|
5
3
|
import serialize from "json-canon";
|
|
6
4
|
import { DataIntegrityProof } from "../vocab/vocab.js";
|
|
7
5
|
import { fetchKey, validateCryptoKey } from "./key.js";
|
|
6
|
+
import { Activity, Multikey } from "../vocab/mod.js";
|
|
7
|
+
import { getLogger } from "@logtape/logtape";
|
|
8
8
|
const logger = getLogger(["fedify", "sig", "proof"]);
|
|
9
9
|
/**
|
|
10
10
|
* Creates a proof for the given object.
|
|
@@ -32,8 +32,13 @@ export async function createProof(object, privateKey, keyId, { contextLoader, co
|
|
|
32
32
|
const msgDigest = await dntShim.crypto.subtle.digest("SHA-256", msgBytes);
|
|
33
33
|
created ??= dntShim.Temporal.Now.instant();
|
|
34
34
|
const proofConfig = {
|
|
35
|
-
//
|
|
36
|
-
|
|
35
|
+
// The below commented out line is needed according to section 3.3.1 of
|
|
36
|
+
// the Data Integrity EdDSA Cryptosuites v1.0 spec, the FEP-8b32 spec does
|
|
37
|
+
// not reflect this step; however, the FEP-8b32 spec will be updated to
|
|
38
|
+
// be consistent with the Data Integrity EdDSA Cryptosuites v1.0 spec
|
|
39
|
+
// some time soon. Before that happens, the below line is commented out.
|
|
40
|
+
// See also: https://socialhub.activitypub.rocks/t/fep-8b32-object-integrity-proofs/2725/91?u=hongminhee
|
|
41
|
+
// "@context": (compactMsg as any)["@context"],
|
|
37
42
|
type: "DataIntegrityProof",
|
|
38
43
|
cryptosuite: "eddsa-jcs-2022",
|
|
39
44
|
verificationMethod: keyId.href,
|
|
@@ -93,8 +98,13 @@ export async function verifyProof(jsonLd, proof, options = {}) {
|
|
|
93
98
|
return null;
|
|
94
99
|
const publicKeyPromise = fetchKey(proof.verificationMethodId, Multikey, options);
|
|
95
100
|
const proofConfig = {
|
|
96
|
-
//
|
|
97
|
-
|
|
101
|
+
// The below commented out line is needed according to section 3.3.1 of
|
|
102
|
+
// the Data Integrity EdDSA Cryptosuites v1.0 spec, the FEP-8b32 spec does
|
|
103
|
+
// not reflect this step; however, the FEP-8b32 spec will be updated to
|
|
104
|
+
// be consistent with the Data Integrity EdDSA Cryptosuites v1.0 spec
|
|
105
|
+
// some time soon. Before that happens, the below line is commented out.
|
|
106
|
+
// See also: https://socialhub.activitypub.rocks/t/fep-8b32-object-integrity-proofs/2725/91?u=hongminhee
|
|
107
|
+
// "@context": (jsonLd as any)["@context"],
|
|
98
108
|
type: "DataIntegrityProof",
|
|
99
109
|
cryptosuite: proof.cryptosuite,
|
|
100
110
|
verificationMethod: proof.verificationMethodId.href,
|
|
@@ -15,9 +15,6 @@ defaultContext:
|
|
|
15
15
|
featured:
|
|
16
16
|
"@id": "toot:featured"
|
|
17
17
|
"@type": "@id"
|
|
18
|
-
featuredTags:
|
|
19
|
-
"@id": "toot:featuredTags"
|
|
20
|
-
"@type": "@id"
|
|
21
18
|
discoverable: "toot:discoverable"
|
|
22
19
|
suspended: "toot:suspended"
|
|
23
20
|
memorial: "toot:memorial"
|
|
@@ -160,17 +157,6 @@ properties:
|
|
|
160
157
|
range:
|
|
161
158
|
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
162
159
|
|
|
163
|
-
- singularName: featuredTags
|
|
164
|
-
functional: true
|
|
165
|
-
uri: "http://joinmastodon.org/ns#featuredTags"
|
|
166
|
-
description: |
|
|
167
|
-
What is known in Mastodon as "featured hashtags", hashtags that are featured
|
|
168
|
-
at people's profiles, is implemented using an extra property `featuredTags`
|
|
169
|
-
on the actor object that points to a {@link Collection} of {@link Hashtag}
|
|
170
|
-
objects specifically.
|
|
171
|
-
range:
|
|
172
|
-
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
173
|
-
|
|
174
160
|
- pluralName: streams
|
|
175
161
|
singularName: stream
|
|
176
162
|
singularAccessor: false
|
|
@@ -9,13 +9,7 @@ description: |
|
|
|
9
9
|
|
|
10
10
|
Refer to the Activity Streams 2.0 Core specification for a complete
|
|
11
11
|
description of the Collection type.
|
|
12
|
-
defaultContext:
|
|
13
|
-
- "https://www.w3.org/ns/activitystreams"
|
|
14
|
-
- "https://w3id.org/security/data-integrity/v1"
|
|
15
|
-
- toot: "http://joinmastodon.org/ns#"
|
|
16
|
-
sensitive: "as:sensitive"
|
|
17
|
-
Emoji: "toot:Emoji"
|
|
18
|
-
Hashtag: "as:Hashtag"
|
|
12
|
+
defaultContext: "https://www.w3.org/ns/activitystreams"
|
|
19
13
|
|
|
20
14
|
properties:
|
|
21
15
|
- singularName: totalItems
|
|
@@ -63,4 +57,3 @@ properties:
|
|
|
63
57
|
or unordered.
|
|
64
58
|
range:
|
|
65
59
|
- "https://www.w3.org/ns/activitystreams#Object"
|
|
66
|
-
- "https://www.w3.org/ns/activitystreams#Link"
|
|
@@ -7,13 +7,7 @@ description: |
|
|
|
7
7
|
Used to represent distinct subsets of items from a `Collection`.
|
|
8
8
|
Refer to the Activity Streams 2.0 Core for a complete description of
|
|
9
9
|
the `CollectionPage` object.
|
|
10
|
-
defaultContext:
|
|
11
|
-
- "https://www.w3.org/ns/activitystreams"
|
|
12
|
-
- "https://w3id.org/security/data-integrity/v1"
|
|
13
|
-
- toot: "http://joinmastodon.org/ns#"
|
|
14
|
-
sensitive: "as:sensitive"
|
|
15
|
-
Emoji: "toot:Emoji"
|
|
16
|
-
Hashtag: "as:Hashtag"
|
|
10
|
+
defaultContext: "https://www.w3.org/ns/activitystreams"
|
|
17
11
|
|
|
18
12
|
properties:
|
|
19
13
|
- singularName: partOf
|
package/esm/vocab/group.yaml
CHANGED
|
@@ -15,9 +15,6 @@ defaultContext:
|
|
|
15
15
|
featured:
|
|
16
16
|
"@id": "toot:featured"
|
|
17
17
|
"@type": "@id"
|
|
18
|
-
featuredTags:
|
|
19
|
-
"@id": "toot:featuredTags"
|
|
20
|
-
"@type": "@id"
|
|
21
18
|
discoverable: "toot:discoverable"
|
|
22
19
|
suspended: "toot:suspended"
|
|
23
20
|
memorial: "toot:memorial"
|
|
@@ -160,17 +157,6 @@ properties:
|
|
|
160
157
|
range:
|
|
161
158
|
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
162
159
|
|
|
163
|
-
- singularName: featuredTags
|
|
164
|
-
functional: true
|
|
165
|
-
uri: "http://joinmastodon.org/ns#featuredTags"
|
|
166
|
-
description: |
|
|
167
|
-
What is known in Mastodon as "featured hashtags", hashtags that are featured
|
|
168
|
-
at people's profiles, is implemented using an extra property `featuredTags`
|
|
169
|
-
on the actor object that points to a {@link Collection} of {@link Hashtag}
|
|
170
|
-
objects specifically.
|
|
171
|
-
range:
|
|
172
|
-
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
173
|
-
|
|
174
160
|
- pluralName: streams
|
|
175
161
|
singularName: stream
|
|
176
162
|
singularAccessor: false
|
|
@@ -6,13 +6,7 @@ entity: true
|
|
|
6
6
|
description: |
|
|
7
7
|
A subtype of {@link Collection} in which members of the logical collection
|
|
8
8
|
are assumed to always be strictly ordered.
|
|
9
|
-
defaultContext:
|
|
10
|
-
- "https://www.w3.org/ns/activitystreams"
|
|
11
|
-
- "https://w3id.org/security/data-integrity/v1"
|
|
12
|
-
- toot: "http://joinmastodon.org/ns#"
|
|
13
|
-
sensitive: "as:sensitive"
|
|
14
|
-
Emoji: "toot:Emoji"
|
|
15
|
-
Hashtag: "as:Hashtag"
|
|
9
|
+
defaultContext: "https://www.w3.org/ns/activitystreams"
|
|
16
10
|
|
|
17
11
|
properties:
|
|
18
12
|
- pluralName: items
|
|
@@ -24,4 +18,3 @@ properties:
|
|
|
24
18
|
or unordered.
|
|
25
19
|
range:
|
|
26
20
|
- "https://www.w3.org/ns/activitystreams#Object"
|
|
27
|
-
- "https://www.w3.org/ns/activitystreams#Link"
|
|
@@ -7,13 +7,7 @@ description: |
|
|
|
7
7
|
Used to represent ordered subsets of items from an `OrderedCollection`.
|
|
8
8
|
Refer to the Activity Streams 2.0 Core for a complete description of
|
|
9
9
|
the `OrderedCollectionPage` object.
|
|
10
|
-
defaultContext:
|
|
11
|
-
- "https://www.w3.org/ns/activitystreams"
|
|
12
|
-
- "https://w3id.org/security/data-integrity/v1"
|
|
13
|
-
- toot: "http://joinmastodon.org/ns#"
|
|
14
|
-
sensitive: "as:sensitive"
|
|
15
|
-
Emoji: "toot:Emoji"
|
|
16
|
-
Hashtag: "as:Hashtag"
|
|
10
|
+
defaultContext: "https://www.w3.org/ns/activitystreams"
|
|
17
11
|
|
|
18
12
|
properties:
|
|
19
13
|
- singularName: startIndex
|
|
@@ -15,9 +15,6 @@ defaultContext:
|
|
|
15
15
|
featured:
|
|
16
16
|
"@id": "toot:featured"
|
|
17
17
|
"@type": "@id"
|
|
18
|
-
featuredTags:
|
|
19
|
-
"@id": "toot:featuredTags"
|
|
20
|
-
"@type": "@id"
|
|
21
18
|
discoverable: "toot:discoverable"
|
|
22
19
|
suspended: "toot:suspended"
|
|
23
20
|
memorial: "toot:memorial"
|
|
@@ -160,17 +157,6 @@ properties:
|
|
|
160
157
|
range:
|
|
161
158
|
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
162
159
|
|
|
163
|
-
- singularName: featuredTags
|
|
164
|
-
functional: true
|
|
165
|
-
uri: "http://joinmastodon.org/ns#featuredTags"
|
|
166
|
-
description: |
|
|
167
|
-
What is known in Mastodon as "featured hashtags", hashtags that are featured
|
|
168
|
-
at people's profiles, is implemented using an extra property `featuredTags`
|
|
169
|
-
on the actor object that points to a {@link Collection} of {@link Hashtag}
|
|
170
|
-
objects specifically.
|
|
171
|
-
range:
|
|
172
|
-
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
173
|
-
|
|
174
160
|
- pluralName: streams
|
|
175
161
|
singularName: stream
|
|
176
162
|
singularAccessor: false
|
package/esm/vocab/person.yaml
CHANGED
|
@@ -15,9 +15,6 @@ defaultContext:
|
|
|
15
15
|
featured:
|
|
16
16
|
"@id": "toot:featured"
|
|
17
17
|
"@type": "@id"
|
|
18
|
-
featuredTags:
|
|
19
|
-
"@id": "toot:featuredTags"
|
|
20
|
-
"@type": "@id"
|
|
21
18
|
discoverable: "toot:discoverable"
|
|
22
19
|
suspended: "toot:suspended"
|
|
23
20
|
memorial: "toot:memorial"
|
|
@@ -160,17 +157,6 @@ properties:
|
|
|
160
157
|
range:
|
|
161
158
|
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
162
159
|
|
|
163
|
-
- singularName: featuredTags
|
|
164
|
-
functional: true
|
|
165
|
-
uri: "http://joinmastodon.org/ns#featuredTags"
|
|
166
|
-
description: |
|
|
167
|
-
What is known in Mastodon as "featured hashtags", hashtags that are featured
|
|
168
|
-
at people's profiles, is implemented using an extra property `featuredTags`
|
|
169
|
-
on the actor object that points to a {@link Collection} of {@link Hashtag}
|
|
170
|
-
objects specifically.
|
|
171
|
-
range:
|
|
172
|
-
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
173
|
-
|
|
174
160
|
- pluralName: streams
|
|
175
161
|
singularName: stream
|
|
176
162
|
singularAccessor: false
|
package/esm/vocab/service.yaml
CHANGED
|
@@ -15,9 +15,6 @@ defaultContext:
|
|
|
15
15
|
featured:
|
|
16
16
|
"@id": "toot:featured"
|
|
17
17
|
"@type": "@id"
|
|
18
|
-
featuredTags:
|
|
19
|
-
"@id": "toot:featuredTags"
|
|
20
|
-
"@type": "@id"
|
|
21
18
|
discoverable: "toot:discoverable"
|
|
22
19
|
suspended: "toot:suspended"
|
|
23
20
|
memorial: "toot:memorial"
|
|
@@ -160,17 +157,6 @@ properties:
|
|
|
160
157
|
range:
|
|
161
158
|
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
162
159
|
|
|
163
|
-
- singularName: featuredTags
|
|
164
|
-
functional: true
|
|
165
|
-
uri: "http://joinmastodon.org/ns#featuredTags"
|
|
166
|
-
description: |
|
|
167
|
-
What is known in Mastodon as "featured hashtags", hashtags that are featured
|
|
168
|
-
at people's profiles, is implemented using an extra property `featuredTags`
|
|
169
|
-
on the actor object that points to a {@link Collection} of {@link Hashtag}
|
|
170
|
-
objects specifically.
|
|
171
|
-
range:
|
|
172
|
-
- "https://www.w3.org/ns/activitystreams#Collection"
|
|
173
|
-
|
|
174
160
|
- pluralName: streams
|
|
175
161
|
singularName: stream
|
|
176
162
|
singularAccessor: false
|