@@ -30,9 +30,42 @@ class Base_Object extends Generic_Object {
30
30
const JSON_LD_CONTEXT = array (
31
31
'https://www.w3.org/ns/activitystreams ' ,
32
32
array (
33
- 'Hashtag ' => 'as:Hashtag ' ,
34
- 'sensitive ' => 'as:sensitive ' ,
35
- 'dcterms ' => 'http://purl.org/dc/terms/ ' ,
33
+ 'Hashtag ' => 'as:Hashtag ' ,
34
+ 'sensitive ' => 'as:sensitive ' ,
35
+ 'dcterms ' => 'http://purl.org/dc/terms/ ' ,
36
+ 'gts ' => 'https://gotosocial.org/ns# ' ,
37
+ 'interactionPolicy ' => array (
38
+ '@id ' => 'gts:interactionPolicy ' ,
39
+ '@type ' => '@id ' ,
40
+ ),
41
+ 'canQuote ' => array (
42
+ '@id ' => 'gts:canQuote ' ,
43
+ '@type ' => '@id ' ,
44
+ ),
45
+ 'canReply ' => array (
46
+ '@id ' => 'gts:canReply ' ,
47
+ '@type ' => '@id ' ,
48
+ ),
49
+ 'canLike ' => array (
50
+ '@id ' => 'gts:canLike ' ,
51
+ '@type ' => '@id ' ,
52
+ ),
53
+ 'canAnnounce ' => array (
54
+ '@id ' => 'gts:canAnnounce ' ,
55
+ '@type ' => '@id ' ,
56
+ ),
57
+ 'automaticApproval ' => array (
58
+ '@id ' => 'gts:automaticApproval ' ,
59
+ '@type ' => '@id ' ,
60
+ ),
61
+ 'manualApproval ' => array (
62
+ '@id ' => 'gts:manualApproval ' ,
63
+ '@type ' => '@id ' ,
64
+ ),
65
+ 'always ' => array (
66
+ '@id ' => 'gts:always ' ,
67
+ '@type ' => '@id ' ,
68
+ ),
36
69
),
37
70
);
38
71
@@ -372,7 +405,7 @@ class Base_Object extends Generic_Object {
372
405
*
373
406
* @see https://www.w3.org/TR/activitypub/#source-property
374
407
*
375
- * @var array
408
+ * @var array|null
376
409
*/
377
410
protected $ source ;
378
411
@@ -392,7 +425,7 @@ class Base_Object extends Generic_Object {
392
425
*
393
426
* @see https://www.w3.org/TR/activitypub/#likes
394
427
*
395
- * @var array
428
+ * @var array|null
396
429
*/
397
430
protected $ likes ;
398
431
@@ -402,7 +435,7 @@ class Base_Object extends Generic_Object {
402
435
*
403
436
* @see https://www.w3.org/TR/activitypub/#shares
404
437
*
405
- * @var array
438
+ * @var array|null
406
439
*/
407
440
protected $ shares ;
408
441
@@ -413,7 +446,7 @@ class Base_Object extends Generic_Object {
413
446
*
414
447
* @see https://docs.joinmastodon.org/spec/activitypub/#sensitive
415
448
*
416
- * @var boolean
449
+ * @var boolean|null
417
450
*/
418
451
protected $ sensitive ;
419
452
@@ -423,10 +456,23 @@ class Base_Object extends Generic_Object {
423
456
* @see https://codeberg.org/fediverse/fep/src/branch/main/fep/b2b8/fep-b2b8.md#sensitive
424
457
* @see https://www.dublincore.org/specifications/dublin-core/dcmi-terms/
425
458
*
426
- * @var array
459
+ * @var array|null
427
460
*/
428
461
protected $ dcterms ;
429
462
463
+ /**
464
+ * Interaction policy is an attempt to limit the harmful effects of unwanted replies and
465
+ * other interactions on a user's posts (e.g., "reply guys").
466
+ *
467
+ * It is also used by Mastodon to limit the ability to quote posts.
468
+ *
469
+ * @see https://docs.gotosocial.org/en/latest/federation/interaction_policy/
470
+ * @see https://blog.joinmastodon.org/2025/09/introducing-quote-posts/
471
+ *
472
+ * @var array|null
473
+ */
474
+ protected $ interaction_policy ;
475
+
430
476
/**
431
477
* Generic getter.
432
478
*
0 commit comments