full diff

fyi.opensocial.resolveSubject

From
bafyreidydkjaf5jivgohzkao77qszqxalx4rczt5prfkpgvspw75eszf7e indexed 2026-10-17 02:20 UTC View this version
To
bafyreicghanwcwlgm6l22zitlr2rycc42aai3mx5zmogjgotaozm2gyl3u indexed 2026-11-05 16:25 UTC View this version

Compatibility

breaking 6 breaking changes, 12 non-breaking changes.

Breaking changes (6)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.resolveSubject:input", src: "fyi.opensocial.resolveSubject:input", tgt: "fyi.opensocial.resolveSubject:input.status", kind: "prop", name: Some("status") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "fyi.opensocial.resolveSubject:input", src: "fyi.opensocial.resolveSubject:input", tgt: "fyi.opensocial.resolveSubject:input.action", kind: "prop", name: Some("action") }
  • RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.action" }
  • KindChanged KindChanged { vertex_id: "fyi.opensocial.resolveSubject:input.subject", old_kind: "string", new_kind: "union" }
  • ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.resolveSubject:input.note", sort: "maxLength", value: "20000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.resolveSubject:input.note", sort: "maxGraphemes", value: "2000" }
Non-breaking changes (12)
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.defs#accountSubject" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.defs#recordSubject" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.status" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.subject:variant0" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.subject:variant1" }
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:output" }
  • AddedEdge AddedEdge { src: "fyi.opensocial.resolveSubject", tgt: "fyi.opensocial.resolveSubject:output", kind: "prop", name: Some("output") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject", tgt: "fyi.opensocial.resolveSubject:input.subject:variant0", kind: "variant", name: Some("fyi.opensocial.defs#accountSubject") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject", tgt: "fyi.opensocial.resolveSubject:input.subject:variant1", kind: "variant", name: Some("fyi.opensocial.defs#recordSubject") }
  • AddedEdge AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject:variant0", tgt: "fyi.opensocial.defs#accountSubject", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject:variant1", tgt: "fyi.opensocial.defs#recordSubject", kind: "ref", name: None }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "fyi.opensocial.resolveSubject:input.subject", sort: "format" }

Migration guidance

Removed

  • RemovedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.action" }

Added

  • AddedVertex { vertex_id: "fyi.opensocial.defs#accountSubject" }
  • AddedVertex { vertex_id: "fyi.opensocial.defs#recordSubject" }
  • AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.status" }
  • AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.subject:variant0" }
  • AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:input.subject:variant1" }
  • AddedVertex { vertex_id: "fyi.opensocial.resolveSubject:output" }

Constraint changes

  • ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.resolveSubject:input.note", sort: "maxLength", value: "20000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.resolveSubject:input.note", sort: "maxGraphemes", value: "2000" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "fyi.opensocial.resolveSubject:input.subject", sort: "format" }

Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.resolveSubject:input", src: "fyi.opensocial.resolveSubject:input", tgt: "fyi.opensocial.resolveSubject:input.status", kind: "prop", name: Some("status") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "fyi.opensocial.resolveSubject:input", src: "fyi.opensocial.resolveSubject:input", tgt: "fyi.opensocial.resolveSubject:input.action", kind: "prop", name: Some("action") }
  • Breaking: KindChanged { vertex_id: "fyi.opensocial.resolveSubject:input.subject", old_kind: "string", new_kind: "union" }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.resolveSubject", tgt: "fyi.opensocial.resolveSubject:output", kind: "prop", name: Some("output") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject", tgt: "fyi.opensocial.resolveSubject:input.subject:variant0", kind: "variant", name: Some("fyi.opensocial.defs#accountSubject") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject", tgt: "fyi.opensocial.resolveSubject:input.subject:variant1", kind: "variant", name: Some("fyi.opensocial.defs#recordSubject") }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject:variant0", tgt: "fyi.opensocial.defs#accountSubject", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "fyi.opensocial.resolveSubject:input.subject:variant1", tgt: "fyi.opensocial.defs#recordSubject", kind: "ref", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
5 "description": "Resolve or escalate a subject, optionally with a note. Requires mod.resolve.",
5 "description": "Resolve or escalate a subject, optionally with a note. Repeating the current status adds the note. Requires mod.resolve.",
6 "errors": [
7 {
8 "description": "The subject isn't an account or record in this group.",
9 "name": "InvalidSubject"
10 },
11 {
12 "description": "The subject has never been reported.",
13 "name": "SubjectNotFound"
14 }
15 ],
616 "input": {
717 "encoding": "application/json",
818 "schema": {
919 "properties": {
10 "action": {
11 "knownValues": [
12 "resolve",
13 "escalate",
14 "note"
15 ],
16 "type": "string"
17 },
1820 "group": {
19 "description": "The group DID. Every method is served by the group's host and authorized against that group's roles. Or the host's own DID, for its queue of what's shared with everyone: templates, their versions, and likes of them, for the host's moderators alone.",
21 "description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
2022 "format": "did",
2123 "type": "string"
2224 },
2325 "note": {
26 "maxGraphemes": 2000,
27 "maxLength": 20000,
2428 "type": "string"
2529 },
30 "status": {
31 "enum": [
32 "resolved",
33 "escalated"
34 ],
35 "type": "string"
36 },
2637 "subject": {
27 "description": "A record's at-uri, or an account's DID.",
28 "format": "uri",
29 "type": "string"
38 "refs": [
39 "fyi.opensocial.defs#accountSubject",
40 "fyi.opensocial.defs#recordSubject"
41 ],
42 "type": "union"
3043 }
3144 },
3245 "required": [
3346 "group",
3447 "subject",
35 "action"
48 "status"
3649 ],
3750 "type": "object"
3851 }
3952 },
53 "output": {
54 "encoding": "application/json",
55 "schema": {
56 "ref": "fyi.opensocial.defs#subjectView",
57 "type": "ref"
58 }
59 },
4060 "type": "procedure"
4161 }
4262 },
4363 "id": "fyi.opensocial.resolveSubject",
4464 "lexicon": 1
4565}

Compare other versions