1export type DID = `did:plc:${string}` | `did:web:${string}`;
2
3export type RepoLog = {
4 commits: {
5 Author: { Name: string; Email: string; When: string };
6 Committer: { Name: string; Email: string; When: string };
7 Encoding: string;
8 Hash: number[];
9 MergeTag: string;
10 Message: string;
11 PGPSignature: string;
12 ParentHashes: number[][];
13 TreeHash: number[];
14 }[];
15 ref: string;
16 description: string;
17 log: boolean;
18 total: number;
19 page: number;
20 per_page: number;
21};
22
23export type DiffTextFragment = {
24 Comment: string;
25 OldPosition: number;
26 NewPosition: number;
27 NewLines: number;
28 LinesAdded: number;
29 LinesDeleted: number;
30 LeadingContext: number;
31 TrailingContext: number;
32 Lines: { Op: number; Line: string }[];
33 is_binary: boolean;
34 is_new: boolean;
35 is_delete: boolean;
36 is_copy: boolean;
37 is_rename: boolean;
38};
39
40export type Commit = {
41 ref: string;
42 diff: {
43 commit: {
44 message: string;
45 author: { Name: string; Email: string; When: string };
46 this: string;
47 parent: string;
48 pgp_signature: string;
49 committer: { Name: string; Email: string; When: string };
50 tree: string;
51 change_id: string;
52 };
53 stat: { files_changed: number; insertions: number; deletions: number };
54 diff: {
55 name: { old: string; new: string };
56 text_fragments: DiffTextFragment[];
57 }[];
58 };
59};