~james/core

core/lexicons/git/temp2/mergeCheck.json -rw-r--r-- 2.2 KiB
452f17b7 — james chore(import): snapshot james.dad.town/core at f70c71c7696a 16 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{
  "lexicon": 1,
  "id": "sh.tangled.git.temp2.mergeCheck",
  "defs": {
    "main": {
      "type": "query",
      "description": "3-way merge check between a target branch tip (ours) and a source commit (theirs). Read-only: the merged tree is never persisted.",
      "parameters": {
        "type": "params",
        "required": ["targetRepo", "targetCommit", "sourceRepo", "sourceCommit"],
        "properties": {
          "targetRepo": { "type": "string", "format": "did" },
          "targetCommit": {
            "type": "string",
            "description": "Target branch tip to merge into (ours)"
          },
          "sourceRepo": { "type": "string", "format": "did" },
          "sourceCommit": {
            "type": "string",
            "description": "Source commit to merge (theirs)"
          }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["isConflicted", "conflicts"],
          "properties": {
            "isConflicted": {
              "type": "boolean",
              "description": "Whether the merge has unresolved conflicts"
            },
            "conflicts": {
              "type": "array",
              "items": { "type": "ref", "ref": "#conflict" }
            },
            "message": {
              "type": "string",
              "description": "Additional detail, e.g. unrelated histories"
            }
          }
        }
      },
      "errors": [
        {
          "name": "RepoNotFound",
          "description": "Repository not found or access denied"
        },
        {
          "name": "RevisionNotFound",
          "description": "One or both commits not found"
        },
        {
          "name": "InvalidRequest",
          "description": "Invalid request parameters"
        }
      ]
    },
    "conflict": {
      "type": "object",
      "required": ["filename", "reason"],
      "properties": {
        "filename": {
          "type": "string",
          "description": "Path of the conflicted file"
        },
        "reason": {
          "type": "string",
          "description": "Short classification of the conflict"
        }
      }
    }
  }
}