Unverified Commit 4a46b617 authored by Hong Minhee's avatar Hong Minhee
Browse files

Merge pull request #80 from randy5235/addInvite

Add more missing vocab items
parents 3d6cea3b 1fd02704
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -44,6 +44,18 @@ To be released.
     -  The default `rules` for `kvCache()` function are now 5 minutes for all
        URLs.

 -  Added `Invite` class to Activity Vocabulary API.
    [[#65], [#80] by Randy Wressell]

 -  Added `Join` class to Activity Vocabulary API.
    [[#65], [#80] by Randy Wressell]

 -  Added `Leave` class to Activity Vocabulary API.
    [[#65], [#80] by Randy Wressell]

 -  Added `Listen` class to Activity Vocabulary API.
    [[#65], [#80] by Randy Wressell]

 -  Added `Offer` class to Activity Vocabulary API.
    [[#65], [#76] by Lee Dogeon]

+4 −0
Original line number Diff line number Diff line
@@ -56,7 +56,11 @@ lists the activity types that Fedify provides:
 -  [`Flag`](https://jsr.io/@fedify/fedify/doc/vocab/~/Flag)
 -  [`Follow`](https://jsr.io/@fedify/fedify/doc/vocab/~/Follow)
 -  [`Ignore`](https://jsr.io/@fedify/fedify/doc/vocab/~/Ignore)
 -  [`Invite`](https://jsr.io/@fedify/fedify/doc/vocab/~/Invite)
 -  [`Join`](https://jsr.io/@fedify/fedify/doc/vocab/~/Join)
 -  [`Leave`](https://jsr.io/@fedify/fedify/doc/vocab/~/Leave)
 -  [`Like`](https://jsr.io/@fedify/fedify/doc/vocab/~/Like)
 -  [`Listen`](https://jsr.io/@fedify/fedify/doc/vocab/~/Listen)
 -  [`Offer`](https://jsr.io/@fedify/fedify/doc/vocab/~/Offer)
 -  [`Question`](https://jsr.io/@fedify/fedify/doc/vocab/~/Question)
 -  [`Reject`](https://jsr.io/@fedify/fedify/doc/vocab/~/Reject)
+971 −76

File changed.

Preview size limit exceeded, changes collapsed.

+480 −0
Original line number Diff line number Diff line
@@ -2988,6 +2988,366 @@ snapshot[`Deno.inspect(IntransitiveActivity) [auto] 3`] = `
}'
`;

snapshot[`Deno.inspect(Invite) [auto] 1`] = `
'Invite {
  id: URL "https://example.com/",
  attachments: [ Object {}, Link {}, PropertyValue {} ],
  attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  audience: Object {},
  contents: [ "hello", <en> "hello" ],
  contexts: [ Object {}, Link {} ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Link {} ],
  icon: Image {},
  image: Image {},
  replyTargets: [ Object {}, Link {} ],
  locations: [ Object {}, Link {} ],
  previews: [ Link {}, Object {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ Object {}, Link {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: Object {},
  bto: Object {},
  cc: Object {},
  bcc: Object {},
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: DataIntegrityProof {},
  actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  object: Object {},
  target: Object {},
  result: Object {},
  origin: Object {},
  instrument: Object {}
}'
`;

snapshot[`Deno.inspect(Invite) [auto] 2`] = `
'Invite {
  id: URL "https://example.com/",
  attachments: [ URL "https://example.com/" ],
  attribution: URL "https://example.com/",
  audience: URL "https://example.com/",
  contents: [ "hello", <en> "hello" ],
  contexts: [ URL "https://example.com/" ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ URL "https://example.com/" ],
  icon: URL "https://example.com/",
  image: URL "https://example.com/",
  replyTarget: URL "https://example.com/",
  location: URL "https://example.com/",
  preview: URL "https://example.com/",
  published: 2024-03-03T08:30:06.796196096Z,
  replies: URL "https://example.com/",
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ URL "https://example.com/" ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: URL "https://example.com/",
  bto: URL "https://example.com/",
  cc: URL "https://example.com/",
  bcc: URL "https://example.com/",
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: URL "https://example.com/",
  actor: URL "https://example.com/",
  object: URL "https://example.com/",
  target: URL "https://example.com/",
  result: URL "https://example.com/",
  origin: URL "https://example.com/",
  instrument: URL "https://example.com/"
}'
`;

snapshot[`Deno.inspect(Invite) [auto] 3`] = `
'Invite {
  id: URL "https://example.com/",
  attachments: [ Object {}, Object {} ],
  attributions: [ Application {}, Application {} ],
  audiences: [ Object {}, Object {} ],
  contents: [ "hello", "hello" ],
  contexts: [ Object {}, Object {} ],
  names: [ "hello", "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Object {} ],
  icons: [ Image {}, Image {} ],
  images: [ Image {}, Image {} ],
  replyTargets: [ Object {}, Object {} ],
  locations: [ Object {}, Object {} ],
  previews: [ Link {}, Link {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", "hello" ],
  tags: [ Object {}, Object {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", URL "https://example.com/" ],
  tos: [ Object {}, Object {} ],
  btos: [ Object {}, Object {} ],
  ccs: [ Object {}, Object {} ],
  bccs: [ Object {}, Object {} ],
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ],
  actors: [ Application {}, Application {} ],
  objects: [ Object {}, Object {} ],
  targets: [ Object {}, Object {} ],
  results: [ Object {}, Object {} ],
  origins: [ Object {}, Object {} ],
  instruments: [ Object {}, Object {} ]
}'
`;

snapshot[`Deno.inspect(Join) [auto] 1`] = `
'Join {
  id: URL "https://example.com/",
  attachments: [ Object {}, Link {}, PropertyValue {} ],
  attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  audience: Object {},
  contents: [ "hello", <en> "hello" ],
  contexts: [ Object {}, Link {} ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Link {} ],
  icon: Image {},
  image: Image {},
  replyTargets: [ Object {}, Link {} ],
  locations: [ Object {}, Link {} ],
  previews: [ Link {}, Object {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ Object {}, Link {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: Object {},
  bto: Object {},
  cc: Object {},
  bcc: Object {},
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: DataIntegrityProof {},
  actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  object: Object {},
  target: Object {},
  result: Object {},
  origin: Object {},
  instrument: Object {}
}'
`;

snapshot[`Deno.inspect(Join) [auto] 2`] = `
'Join {
  id: URL "https://example.com/",
  attachments: [ URL "https://example.com/" ],
  attribution: URL "https://example.com/",
  audience: URL "https://example.com/",
  contents: [ "hello", <en> "hello" ],
  contexts: [ URL "https://example.com/" ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ URL "https://example.com/" ],
  icon: URL "https://example.com/",
  image: URL "https://example.com/",
  replyTarget: URL "https://example.com/",
  location: URL "https://example.com/",
  preview: URL "https://example.com/",
  published: 2024-03-03T08:30:06.796196096Z,
  replies: URL "https://example.com/",
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ URL "https://example.com/" ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: URL "https://example.com/",
  bto: URL "https://example.com/",
  cc: URL "https://example.com/",
  bcc: URL "https://example.com/",
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: URL "https://example.com/",
  actor: URL "https://example.com/",
  object: URL "https://example.com/",
  target: URL "https://example.com/",
  result: URL "https://example.com/",
  origin: URL "https://example.com/",
  instrument: URL "https://example.com/"
}'
`;

snapshot[`Deno.inspect(Join) [auto] 3`] = `
'Join {
  id: URL "https://example.com/",
  attachments: [ Object {}, Object {} ],
  attributions: [ Application {}, Application {} ],
  audiences: [ Object {}, Object {} ],
  contents: [ "hello", "hello" ],
  contexts: [ Object {}, Object {} ],
  names: [ "hello", "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Object {} ],
  icons: [ Image {}, Image {} ],
  images: [ Image {}, Image {} ],
  replyTargets: [ Object {}, Object {} ],
  locations: [ Object {}, Object {} ],
  previews: [ Link {}, Link {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", "hello" ],
  tags: [ Object {}, Object {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", URL "https://example.com/" ],
  tos: [ Object {}, Object {} ],
  btos: [ Object {}, Object {} ],
  ccs: [ Object {}, Object {} ],
  bccs: [ Object {}, Object {} ],
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ],
  actors: [ Application {}, Application {} ],
  objects: [ Object {}, Object {} ],
  targets: [ Object {}, Object {} ],
  results: [ Object {}, Object {} ],
  origins: [ Object {}, Object {} ],
  instruments: [ Object {}, Object {} ]
}'
`;

snapshot[`Deno.inspect(Leave) [auto] 1`] = `
'Leave {
  id: URL "https://example.com/",
  attachments: [ Object {}, Link {}, PropertyValue {} ],
  attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  audience: Object {},
  contents: [ "hello", <en> "hello" ],
  contexts: [ Object {}, Link {} ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Link {} ],
  icon: Image {},
  image: Image {},
  replyTargets: [ Object {}, Link {} ],
  locations: [ Object {}, Link {} ],
  previews: [ Link {}, Object {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ Object {}, Link {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: Object {},
  bto: Object {},
  cc: Object {},
  bcc: Object {},
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: DataIntegrityProof {},
  actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  object: Object {},
  target: Object {},
  result: Object {},
  origin: Object {},
  instrument: Object {}
}'
`;

snapshot[`Deno.inspect(Leave) [auto] 2`] = `
'Leave {
  id: URL "https://example.com/",
  attachments: [ URL "https://example.com/" ],
  attribution: URL "https://example.com/",
  audience: URL "https://example.com/",
  contents: [ "hello", <en> "hello" ],
  contexts: [ URL "https://example.com/" ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ URL "https://example.com/" ],
  icon: URL "https://example.com/",
  image: URL "https://example.com/",
  replyTarget: URL "https://example.com/",
  location: URL "https://example.com/",
  preview: URL "https://example.com/",
  published: 2024-03-03T08:30:06.796196096Z,
  replies: URL "https://example.com/",
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ URL "https://example.com/" ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: URL "https://example.com/",
  bto: URL "https://example.com/",
  cc: URL "https://example.com/",
  bcc: URL "https://example.com/",
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: URL "https://example.com/",
  actor: URL "https://example.com/",
  object: URL "https://example.com/",
  target: URL "https://example.com/",
  result: URL "https://example.com/",
  origin: URL "https://example.com/",
  instrument: URL "https://example.com/"
}'
`;

snapshot[`Deno.inspect(Leave) [auto] 3`] = `
'Leave {
  id: URL "https://example.com/",
  attachments: [ Object {}, Object {} ],
  attributions: [ Application {}, Application {} ],
  audiences: [ Object {}, Object {} ],
  contents: [ "hello", "hello" ],
  contexts: [ Object {}, Object {} ],
  names: [ "hello", "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Object {} ],
  icons: [ Image {}, Image {} ],
  images: [ Image {}, Image {} ],
  replyTargets: [ Object {}, Object {} ],
  locations: [ Object {}, Object {} ],
  previews: [ Link {}, Link {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", "hello" ],
  tags: [ Object {}, Object {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", URL "https://example.com/" ],
  tos: [ Object {}, Object {} ],
  btos: [ Object {}, Object {} ],
  ccs: [ Object {}, Object {} ],
  bccs: [ Object {}, Object {} ],
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ],
  actors: [ Application {}, Application {} ],
  objects: [ Object {}, Object {} ],
  targets: [ Object {}, Object {} ],
  results: [ Object {}, Object {} ],
  origins: [ Object {}, Object {} ],
  instruments: [ Object {}, Object {} ]
}'
`;

snapshot[`Deno.inspect(Like) [auto] 1`] = `
'Like {
  id: URL "https://example.com/",
@@ -3168,6 +3528,126 @@ snapshot[`Deno.inspect(Link) [auto] 3`] = `
}'
`;

snapshot[`Deno.inspect(Listen) [auto] 1`] = `
'Listen {
  id: URL "https://example.com/",
  attachments: [ Object {}, Link {}, PropertyValue {} ],
  attributions: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  audience: Object {},
  contents: [ "hello", <en> "hello" ],
  contexts: [ Object {}, Link {} ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Link {} ],
  icon: Image {},
  image: Image {},
  replyTargets: [ Object {}, Link {} ],
  locations: [ Object {}, Link {} ],
  previews: [ Link {}, Object {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ Object {}, Link {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: Object {},
  bto: Object {},
  cc: Object {},
  bcc: Object {},
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: DataIntegrityProof {},
  actors: [ Application {}, Group {}, Organization {}, Person {}, Service {} ],
  object: Object {},
  target: Object {},
  result: Object {},
  origin: Object {},
  instrument: Object {}
}'
`;

snapshot[`Deno.inspect(Listen) [auto] 2`] = `
'Listen {
  id: URL "https://example.com/",
  attachments: [ URL "https://example.com/" ],
  attribution: URL "https://example.com/",
  audience: URL "https://example.com/",
  contents: [ "hello", <en> "hello" ],
  contexts: [ URL "https://example.com/" ],
  names: [ "hello", <en> "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ URL "https://example.com/" ],
  icon: URL "https://example.com/",
  image: URL "https://example.com/",
  replyTarget: URL "https://example.com/",
  location: URL "https://example.com/",
  preview: URL "https://example.com/",
  published: 2024-03-03T08:30:06.796196096Z,
  replies: URL "https://example.com/",
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", <en> "hello" ],
  tags: [ URL "https://example.com/" ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", Link {} ],
  to: URL "https://example.com/",
  bto: URL "https://example.com/",
  cc: URL "https://example.com/",
  bcc: URL "https://example.com/",
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proof: URL "https://example.com/",
  actor: URL "https://example.com/",
  object: URL "https://example.com/",
  target: URL "https://example.com/",
  result: URL "https://example.com/",
  origin: URL "https://example.com/",
  instrument: URL "https://example.com/"
}'
`;

snapshot[`Deno.inspect(Listen) [auto] 3`] = `
'Listen {
  id: URL "https://example.com/",
  attachments: [ Object {}, Object {} ],
  attributions: [ Application {}, Application {} ],
  audiences: [ Object {}, Object {} ],
  contents: [ "hello", "hello" ],
  contexts: [ Object {}, Object {} ],
  names: [ "hello", "hello" ],
  endTime: 2024-03-03T08:30:06.796196096Z,
  generators: [ Object {}, Object {} ],
  icons: [ Image {}, Image {} ],
  images: [ Image {}, Image {} ],
  replyTargets: [ Object {}, Object {} ],
  locations: [ Object {}, Object {} ],
  previews: [ Link {}, Link {} ],
  published: 2024-03-03T08:30:06.796196096Z,
  replies: Collection {},
  startTime: 2024-03-03T08:30:06.796196096Z,
  summaries: [ "hello", "hello" ],
  tags: [ Object {}, Object {} ],
  updated: 2024-03-03T08:30:06.796196096Z,
  urls: [ URL "https://example.com/", URL "https://example.com/" ],
  tos: [ Object {}, Object {} ],
  btos: [ Object {}, Object {} ],
  ccs: [ Object {}, Object {} ],
  bccs: [ Object {}, Object {} ],
  mediaType: "hello",
  duration: PT1H,
  sensitive: true,
  proofs: [ DataIntegrityProof {}, DataIntegrityProof {} ],
  actors: [ Application {}, Application {} ],
  objects: [ Object {}, Object {} ],
  targets: [ Object {}, Object {} ],
  results: [ Object {}, Object {} ],
  origins: [ Object {}, Object {} ],
  instruments: [ Object {}, Object {} ]
}'
`;

snapshot[`Deno.inspect(Mention) [auto] 1`] = `
'Mention {
  id: URL "https://example.com/",

vocab/invite.yaml

0 → 100644
+12 −0
Original line number Diff line number Diff line
$schema: ../codegen/schema.yaml
name: Invite
uri: "https://www.w3.org/ns/activitystreams#Invite"
extends: "https://www.w3.org/ns/activitystreams#Offer"
entity: true
description: |
  A specialization of `Offer` in which the `actor` is extending an invitation
  for the `object` to the `target`.
defaultContext:
- "https://www.w3.org/ns/activitystreams"
- "https://w3id.org/security/data-integrity/v1"
properties: []
Loading