A vibe coded tangled fork which supports pijul.
1{
2 "lexicon": 1,
3 "id": "sh.tangled.repo.applyChanges",
4 "defs": {
5 "main": {
6 "type": "procedure",
7 "description": "Apply Pijul changes to a repository channel. Used for merging discussions.",
8 "input": {
9 "encoding": "application/json",
10 "schema": {
11 "type": "object",
12 "required": ["repo", "channel", "changes"],
13 "properties": {
14 "repo": {
15 "type": "string",
16 "description": "Repository identifier in format 'did:plc:.../repoName'"
17 },
18 "channel": {
19 "type": "string",
20 "description": "Target channel to apply changes to"
21 },
22 "changes": {
23 "type": "array",
24 "items": {
25 "type": "string"
26 },
27 "description": "List of change hashes to apply (in order)"
28 }
29 }
30 }
31 },
32 "output": {
33 "encoding": "application/json",
34 "schema": {
35 "type": "object",
36 "required": ["applied"],
37 "properties": {
38 "applied": {
39 "type": "array",
40 "items": {
41 "type": "string"
42 },
43 "description": "List of successfully applied change hashes"
44 },
45 "failed": {
46 "type": "array",
47 "items": {
48 "type": "object",
49 "required": ["hash", "error"],
50 "properties": {
51 "hash": {
52 "type": "string"
53 },
54 "error": {
55 "type": "string"
56 }
57 }
58 },
59 "description": "List of changes that failed to apply"
60 }
61 }
62 }
63 },
64 "errors": [
65 {
66 "name": "InvalidRequest"
67 },
68 {
69 "name": "RepoNotFound"
70 },
71 {
72 "name": "ChannelNotFound"
73 },
74 {
75 "name": "ApplyFailed"
76 }
77 ]
78 }
79 }
80}