diff --git a/priv/accept.json b/priv/accept.json new file mode 100644 index 0000000..d962dec --- /dev/null +++ b/priv/accept.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Accept/Reject", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Accept", "Reject"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": "object" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/activity.json b/priv/activity.json new file mode 100644 index 0000000..81fafc1 --- /dev/null +++ b/priv/activity.json @@ -0,0 +1,23 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Activity", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string" }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": ["string", "object"] }, + "to": { + "type": "array", + "items": { "type": "string" } + }, + "cc": { + "type": "array", + "items": { "type": "string" } + } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/announce.json b/priv/announce.json new file mode 100644 index 0000000..00174f9 --- /dev/null +++ b/priv/announce.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Like/Announce", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Like", "Announce"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/article.json b/priv/article.json new file mode 100644 index 0000000..2261b57 --- /dev/null +++ b/priv/article.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Article", + "type": "object", + "required": ["@context", "type", "id", "attributedTo", "content"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Article"] }, + "id": { "type": "string" }, + "attributedTo": { "type": "string" }, + "content": { "type": "string" }, + "name": { "type": "string" }, + "summary": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "to": { + "type": "array", + "items": { "type": "string" } + }, + "cc": { + "type": "array", + "items": { "type": "string" } + }, + "inReplyTo": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/audio.json b/priv/audio.json new file mode 100644 index 0000000..0f6af5b --- /dev/null +++ b/priv/audio.json @@ -0,0 +1,22 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Audio", + "type": "object", + "required": ["type", "id", "url"], + "properties": { + "type": { "type": "string", "enum": ["Audio"] }, + "id": { "type": "string" }, + "url": { "type": "string" }, + "mediaType": { "type": "string" }, + "name": { "type": "string" }, + "summary": { "type": "string" }, + "duration": { "type": "string" }, + "attributedTo": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "to": { "type": "array", "items": { "type": "string" } }, + "cc": { "type": "array", "items": { "type": "string" } } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/community.json b/priv/community.json new file mode 100644 index 0000000..b40780e --- /dev/null +++ b/priv/community.json @@ -0,0 +1,23 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Community", + "type": "object", + "required": ["@context", "type", "id", "name"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Community"] }, + "id": { "type": "string" }, + "name": { "type": "string" }, + "summary": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "icon": { "type": "object" }, + "url": { "type": "string" }, + "inbox": { "type": "string" }, + "outbox": { "type": "string" }, + "preferredUsername": { "type": "string" }, + "attributedTo": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/create.json b/priv/create.json new file mode 100644 index 0000000..bdae78e --- /dev/null +++ b/priv/create.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Create", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Create"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": "object" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/delete.json b/priv/delete.json new file mode 100644 index 0000000..6168f7b --- /dev/null +++ b/priv/delete.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Delete", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Delete"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": ["object", "string"] } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/event.json b/priv/event.json new file mode 100644 index 0000000..948df22 --- /dev/null +++ b/priv/event.json @@ -0,0 +1,29 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Event", + "type": "object", + "required": ["@context", "type", "id", "attributedTo", "name", "startTime"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Event"] }, + "id": { "type": "string" }, + "attributedTo": { "type": "string" }, + "name": { "type": "string" }, + "startTime": { "type": "string" }, + "endTime": { "type": "string" }, + "content": { "type": "string" }, + "summary": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "to": { + "type": "array", + "items": { "type": "string" } + }, + "cc": { + "type": "array", + "items": { "type": "string" } + } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/follow.json b/priv/follow.json new file mode 100644 index 0000000..944ea0f --- /dev/null +++ b/priv/follow.json @@ -0,0 +1,14 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Follow", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Follow"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": "string" } + }, + "additionalProperties": true +} diff --git a/priv/group.json b/priv/group.json new file mode 100644 index 0000000..0f513fa --- /dev/null +++ b/priv/group.json @@ -0,0 +1,23 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Group", + "type": "object", + "required": ["@context", "type", "id", "name"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Group"] }, + "id": { "type": "string" }, + "name": { "type": "string" }, + "summary": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "icon": { "type": "object" }, + "url": { "type": "string" }, + "inbox": { "type": "string" }, + "outbox": { "type": "string" }, + "preferredUsername": { "type": "string" }, + "attributedTo": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/image.json b/priv/image.json new file mode 100644 index 0000000..f8175b2 --- /dev/null +++ b/priv/image.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Image", + "type": "object", + "required": ["type", "id", "url"], + "properties": { + "type": { "type": "string", "enum": ["Image"] }, + "id": { "type": "string" }, + "url": { "type": "string" }, + "mediaType": { "type": "string" }, + "name": { "type": "string" }, + "summary": { "type": "string" }, + "height": { "type": "integer" }, + "width": { "type": "integer" }, + "attributedTo": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/like.json b/priv/like.json new file mode 100644 index 0000000..00174f9 --- /dev/null +++ b/priv/like.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Like/Announce", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Like", "Announce"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/page.json b/priv/page.json new file mode 100644 index 0000000..9b45c2d --- /dev/null +++ b/priv/page.json @@ -0,0 +1,27 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Page", + "type": "object", + "required": ["@context", "type", "id", "attributedTo", "content"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Page"] }, + "id": { "type": "string" }, + "attributedTo": { "type": "string" }, + "content": { "type": "string" }, + "to": { + "type": "array", + "items": { "type": "string" } + }, + "cc": { + "type": "array", + "items": { "type": "string" } + }, + "inReplyTo": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "summary": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/person.json b/priv/person.json new file mode 100644 index 0000000..d165726 --- /dev/null +++ b/priv/person.json @@ -0,0 +1,16 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Person", + "type": "object", + "required": ["@context", "type", "id"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Person"] }, + "id": { "type": "string" }, + "preferredUsername": { "type": "string" }, + "inbox": { "type": "string" }, + "outbox": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/post.json b/priv/post.json new file mode 100644 index 0000000..c180b8a --- /dev/null +++ b/priv/post.json @@ -0,0 +1,24 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Post", + "type": "object", + "required": ["@context", "type", "id", "attributedTo", "content"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Post"] }, + "id": { "type": "string" }, + "attributedTo": { "type": "string" }, + "content": { "type": "string" }, + "name": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "to": { "type": "array", "items": { "type": "string" } }, + "cc": { "type": "array", "items": { "type": "string" } }, + "inReplyTo": { "type": "string" }, + "url": { "type": "string" }, + "summary": { "type": "string" }, + "community": { "type": "string" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/question.json b/priv/question.json new file mode 100644 index 0000000..f64712a --- /dev/null +++ b/priv/question.json @@ -0,0 +1,36 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Question", + "type": "object", + "required": ["@context", "type", "id", "attributedTo", "content"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Question"] }, + "id": { "type": "string" }, + "attributedTo": { "type": "string" }, + "content": { "type": "string" }, + "to": { + "type": "array", + "items": { "type": "string" } + }, + "cc": { + "type": "array", + "items": { "type": "string" } + }, + "inReplyTo": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "summary": { "type": "string" }, + "oneOf": { + "type": "array", + "items": { "type": "string" } + }, + "anyOf": { + "type": "array", + "items": { "type": "string" } + }, + "closed": { "type": ["string", "boolean"] } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/reject.json b/priv/reject.json new file mode 100644 index 0000000..d962dec --- /dev/null +++ b/priv/reject.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Accept/Reject", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Accept", "Reject"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": "object" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/undo.json b/priv/undo.json new file mode 100644 index 0000000..e86b584 --- /dev/null +++ b/priv/undo.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Undo", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Undo"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": ["object", "string"] } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/update.json b/priv/update.json new file mode 100644 index 0000000..2174372 --- /dev/null +++ b/priv/update.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Update", + "type": "object", + "required": ["@context", "type", "id", "actor", "object"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Update"] }, + "id": { "type": "string" }, + "actor": { "type": "string" }, + "object": { "type": "object" } + }, + "additionalProperties": true + } + \ No newline at end of file diff --git a/priv/video.json b/priv/video.json new file mode 100644 index 0000000..24d7d4f --- /dev/null +++ b/priv/video.json @@ -0,0 +1,29 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ActivityPub Video", + "type": "object", + "required": ["@context", "type", "id", "attributedTo", "content"], + "properties": { + "@context": { "type": "string" }, + "type": { "type": "string", "enum": ["Video"] }, + "id": { "type": "string" }, + "attributedTo": { "type": "string" }, + "content": { "type": "string" }, + "name": { "type": "string" }, + "summary": { "type": "string" }, + "published": { "type": "string" }, + "updated": { "type": "string" }, + "duration": { "type": "string" }, + "url": { "type": "string" }, + "to": { + "type": "array", + "items": { "type": "string" } + }, + "cc": { + "type": "array", + "items": { "type": "string" } + } + }, + "additionalProperties": true + } + \ No newline at end of file