@strayl/coregit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/branches.d.ts +17 -0
  2. package/dist/branches.d.ts.map +1 -0
  3. package/dist/branches.js +21 -0
  4. package/dist/branches.js.map +1 -0
  5. package/dist/commits.d.ts +13 -0
  6. package/dist/commits.d.ts.map +1 -0
  7. package/dist/commits.js +21 -0
  8. package/dist/commits.js.map +1 -0
  9. package/dist/diff.d.ts +8 -0
  10. package/dist/diff.d.ts.map +1 -0
  11. package/dist/diff.js +10 -0
  12. package/dist/diff.js.map +1 -0
  13. package/dist/files.d.ts +10 -0
  14. package/dist/files.d.ts.map +1 -0
  15. package/dist/files.js +17 -0
  16. package/dist/files.js.map +1 -0
  17. package/dist/http.d.ts +11 -0
  18. package/dist/http.d.ts.map +1 -0
  19. package/dist/http.js +69 -0
  20. package/dist/http.js.map +1 -0
  21. package/dist/index.d.ts +28 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +37 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/repos.d.ts +14 -0
  26. package/dist/repos.d.ts.map +1 -0
  27. package/dist/repos.js +27 -0
  28. package/dist/repos.js.map +1 -0
  29. package/dist/snapshots.d.ts +14 -0
  30. package/dist/snapshots.d.ts.map +1 -0
  31. package/dist/snapshots.js +21 -0
  32. package/dist/snapshots.js.map +1 -0
  33. package/dist/types.d.ts +194 -0
  34. package/dist/types.d.ts.map +1 -0
  35. package/dist/types.js +2 -0
  36. package/dist/types.js.map +1 -0
  37. package/dist/usage.d.ts +9 -0
  38. package/dist/usage.d.ts.map +1 -0
  39. package/dist/usage.js +19 -0
  40. package/dist/usage.js.map +1 -0
  41. package/package.json +37 -0
  42. package/src/branches.ts +37 -0
  43. package/src/commits.ts +28 -0
  44. package/src/diff.ts +11 -0
  45. package/src/files.ts +25 -0
  46. package/src/http.ts +82 -0
  47. package/src/index.ts +55 -0
  48. package/src/repos.ts +37 -0
  49. package/src/snapshots.ts +37 -0
  50. package/src/types.ts +239 -0
  51. package/src/usage.ts +24 -0
@@ -0,0 +1,17 @@
1
+ import type { HttpClient } from "./http";
2
+ import type { Branch, BranchListResponse, CoregitResult, CreateBranchInput, MergeInput, MergeResult } from "./types";
3
+ export declare class BranchesClient {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ create(repoSlug: string, input: CreateBranchInput): Promise<CoregitResult<Branch & {
7
+ created: boolean;
8
+ }>>;
9
+ list(repoSlug: string): Promise<CoregitResult<BranchListResponse>>;
10
+ get(repoSlug: string, name: string): Promise<CoregitResult<Branch>>;
11
+ delete(repoSlug: string, name: string): Promise<CoregitResult<{
12
+ deleted: boolean;
13
+ name: string;
14
+ }>>;
15
+ merge(repoSlug: string, sourceBranch: string, opts?: MergeInput): Promise<CoregitResult<MergeResult>>;
16
+ }
17
+ //# sourceMappingURL=branches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branches.d.ts","sourceRoot":"","sources":["../src/branches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAc;IACb,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAIzG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAIlE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAInE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIlG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;CAOtG"}
@@ -0,0 +1,21 @@
1
+ export class BranchesClient {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ create(repoSlug, input) {
6
+ return this.http.request("POST", `/v1/repos/${encodeURIComponent(repoSlug)}/branches`, input);
7
+ }
8
+ list(repoSlug) {
9
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/branches`);
10
+ }
11
+ get(repoSlug, name) {
12
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/branches/${encodeURIComponent(name)}`);
13
+ }
14
+ delete(repoSlug, name) {
15
+ return this.http.request("DELETE", `/v1/repos/${encodeURIComponent(repoSlug)}/branches/${encodeURIComponent(name)}`);
16
+ }
17
+ merge(repoSlug, sourceBranch, opts) {
18
+ return this.http.request("POST", `/v1/repos/${encodeURIComponent(repoSlug)}/branches/${encodeURIComponent(sourceBranch)}/merge`, opts);
19
+ }
20
+ }
21
+ //# sourceMappingURL=branches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branches.js","sourceRoot":"","sources":["../src/branches.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,cAAc;IACzB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,MAAM,CAAC,QAAgB,EAAE,KAAwB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAqB,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5G,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,IAAY;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5H,CAAC;IAED,MAAM,CAAC,QAAgB,EAAE,IAAY;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,YAAoB,EAAE,IAAiB;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,MAAM,EACN,aAAa,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAC9F,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { HttpClient } from "./http";
2
+ import type { Commit, CommitListResponse, CommitResult, CoregitResult, CreateCommitInput } from "./types";
3
+ export declare class CommitsClient {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ create(repoSlug: string, input: CreateCommitInput): Promise<CoregitResult<CommitResult>>;
7
+ list(repoSlug: string, opts?: {
8
+ ref?: string;
9
+ limit?: number;
10
+ }): Promise<CoregitResult<CommitListResponse>>;
11
+ get(repoSlug: string, sha: string): Promise<CoregitResult<Commit>>;
12
+ }
13
+ //# sourceMappingURL=commits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commits.d.ts","sourceRoot":"","sources":["../src/commits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,qBAAa,aAAa;IACZ,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAIxF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAQ3G,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;CAGnE"}
@@ -0,0 +1,21 @@
1
+ export class CommitsClient {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ create(repoSlug, input) {
6
+ return this.http.request("POST", `/v1/repos/${encodeURIComponent(repoSlug)}/commits`, input);
7
+ }
8
+ list(repoSlug, opts) {
9
+ const params = new URLSearchParams();
10
+ if (opts?.ref)
11
+ params.set("ref", opts.ref);
12
+ if (opts?.limit !== undefined)
13
+ params.set("limit", String(opts.limit));
14
+ const qs = params.toString();
15
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/commits${qs ? `?${qs}` : ""}`);
16
+ }
17
+ get(repoSlug, sha) {
18
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/commits/${sha}`);
19
+ }
20
+ }
21
+ //# sourceMappingURL=commits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commits.js","sourceRoot":"","sources":["../src/commits.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,aAAa;IACxB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,MAAM,CAAC,QAAgB,EAAE,KAAwB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,MAAM,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7G,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,IAAuC;QAC5D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,EAAE,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAqB,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChI,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,GAAW;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACtG,CAAC;CACF"}
package/dist/diff.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import type { HttpClient } from "./http";
2
+ import type { CoregitResult, DiffResponse } from "./types";
3
+ export declare class DiffClient {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ compare(repoSlug: string, base: string, head: string): Promise<CoregitResult<DiffResponse>>;
7
+ }
8
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE3D,qBAAa,UAAU;IACT,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;CAI5F"}
package/dist/diff.js ADDED
@@ -0,0 +1,10 @@
1
+ export class DiffClient {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ compare(repoSlug, base, head) {
6
+ const params = new URLSearchParams({ base, head });
7
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/diff?${params}`);
8
+ }
9
+ }
10
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,UAAU;IACrB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,OAAO,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAY;QAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5G,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import type { HttpClient } from "./http";
2
+ import type { BlobResponse, CoregitResult, RefsResponse, TreeResponse } from "./types";
3
+ export declare class FilesClient {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ tree(repoSlug: string, ref?: string, path?: string): Promise<CoregitResult<TreeResponse>>;
7
+ blob(repoSlug: string, ref: string, path: string): Promise<CoregitResult<BlobResponse>>;
8
+ refs(repoSlug: string): Promise<CoregitResult<RefsResponse>>;
9
+ }
10
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,qBAAa,WAAW;IACV,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAMzF,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAIvF,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;CAG7D"}
package/dist/files.js ADDED
@@ -0,0 +1,17 @@
1
+ export class FilesClient {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ tree(repoSlug, ref, path) {
6
+ const refPart = ref ? `/${encodeURIComponent(ref)}` : "";
7
+ const pathPart = path ? `/${path}` : "";
8
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/tree${refPart}${pathPart}`);
9
+ }
10
+ blob(repoSlug, ref, path) {
11
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/blob/${encodeURIComponent(ref)}/${path}`);
12
+ }
13
+ refs(repoSlug) {
14
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/refs`);
15
+ }
16
+ }
17
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,WAAW;IACtB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,IAAI,CAAC,QAAgB,EAAE,GAAY,EAAE,IAAa;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAC;IACvH,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,GAAW,EAAE,IAAY;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrI,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAe,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClG,CAAC;CACF"}
package/dist/http.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { FetchLike, CoregitResult, CoregitError } from "./types";
2
+ export declare function resolveFetch(custom?: FetchLike): FetchLike;
3
+ export declare function toCoregitError(status: number, payload?: any): CoregitError;
4
+ export declare class HttpClient {
5
+ private fetch;
6
+ private baseUrl;
7
+ private apiKey;
8
+ constructor(baseUrl: string, apiKey: string, fetchImpl: FetchLike);
9
+ request<T>(method: string, path: string, body?: unknown): Promise<CoregitResult<T>>;
10
+ }
11
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEtE,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAM1D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,YAAY,CAa1E;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;IAM3D,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAyC7B"}
package/dist/http.js ADDED
@@ -0,0 +1,69 @@
1
+ export function resolveFetch(custom) {
2
+ if (custom)
3
+ return custom;
4
+ if (typeof fetch === "function") {
5
+ return fetch.bind(globalThis);
6
+ }
7
+ throw new Error("fetch is not available. Provide a custom implementation via options.fetch");
8
+ }
9
+ export function toCoregitError(status, payload) {
10
+ if (payload && typeof payload === "object") {
11
+ if (typeof payload.error === "string") {
12
+ return { message: payload.error, status };
13
+ }
14
+ if (payload.error?.message) {
15
+ return { message: String(payload.error.message), code: payload.error.code, status };
16
+ }
17
+ if (payload.message) {
18
+ return { message: String(payload.message), status };
19
+ }
20
+ }
21
+ return { message: "Request failed", status };
22
+ }
23
+ export class HttpClient {
24
+ constructor(baseUrl, apiKey, fetchImpl) {
25
+ this.baseUrl = baseUrl.replace(/\/+$/, "");
26
+ this.apiKey = apiKey;
27
+ this.fetch = fetchImpl;
28
+ }
29
+ async request(method, path, body) {
30
+ const headers = {
31
+ "x-api-key": this.apiKey,
32
+ };
33
+ if (body !== undefined) {
34
+ headers["Content-Type"] = "application/json";
35
+ }
36
+ const response = await this.fetch(`${this.baseUrl}${path}`, {
37
+ method,
38
+ headers,
39
+ body: body !== undefined ? JSON.stringify(body) : undefined,
40
+ });
41
+ const contentType = response.headers.get("content-type");
42
+ let payload = null;
43
+ if (contentType && contentType.includes("application/json")) {
44
+ payload = await response.json();
45
+ }
46
+ else {
47
+ const text = await response.text();
48
+ try {
49
+ payload = JSON.parse(text);
50
+ }
51
+ catch {
52
+ payload = null;
53
+ }
54
+ }
55
+ if (!response.ok) {
56
+ return {
57
+ data: null,
58
+ error: toCoregitError(response.status, payload),
59
+ status: response.status,
60
+ };
61
+ }
62
+ return {
63
+ data: payload,
64
+ error: null,
65
+ status: response.status,
66
+ };
67
+ }
68
+ }
69
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ReposClient } from "./repos";
2
+ import { BranchesClient } from "./branches";
3
+ import { CommitsClient } from "./commits";
4
+ import { FilesClient } from "./files";
5
+ import { DiffClient } from "./diff";
6
+ import { SnapshotsClient } from "./snapshots";
7
+ import { UsageClient } from "./usage";
8
+ import type { CoregitClientOptions } from "./types";
9
+ export declare class CoregitClient {
10
+ readonly repos: ReposClient;
11
+ readonly branches: BranchesClient;
12
+ readonly commits: CommitsClient;
13
+ readonly files: FilesClient;
14
+ readonly diff: DiffClient;
15
+ readonly snapshots: SnapshotsClient;
16
+ readonly usage: UsageClient;
17
+ constructor(options: CoregitClientOptions);
18
+ }
19
+ export declare function createCoregitClient(options: CoregitClientOptions): CoregitClient;
20
+ export * from "./types";
21
+ export { ReposClient } from "./repos";
22
+ export { BranchesClient } from "./branches";
23
+ export { CommitsClient } from "./commits";
24
+ export { FilesClient } from "./files";
25
+ export { DiffClient } from "./diff";
26
+ export { SnapshotsClient } from "./snapshots";
27
+ export { UsageClient } from "./usage";
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAIpD,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;gBAEhB,OAAO,EAAE,oBAAoB;CAoB1C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAEhF;AAED,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,37 @@
1
+ import { HttpClient, resolveFetch } from "./http";
2
+ import { ReposClient } from "./repos";
3
+ import { BranchesClient } from "./branches";
4
+ import { CommitsClient } from "./commits";
5
+ import { FilesClient } from "./files";
6
+ import { DiffClient } from "./diff";
7
+ import { SnapshotsClient } from "./snapshots";
8
+ import { UsageClient } from "./usage";
9
+ const DEFAULT_BASE_URL = "https://api.coregit.dev";
10
+ export class CoregitClient {
11
+ constructor(options) {
12
+ if (!options.apiKey) {
13
+ throw new Error("apiKey is required to initialize CoregitClient");
14
+ }
15
+ const fetchImpl = resolveFetch(options.fetch);
16
+ const http = new HttpClient(options.baseUrl ?? DEFAULT_BASE_URL, options.apiKey, fetchImpl);
17
+ this.repos = new ReposClient(http);
18
+ this.branches = new BranchesClient(http);
19
+ this.commits = new CommitsClient(http);
20
+ this.files = new FilesClient(http);
21
+ this.diff = new DiffClient(http);
22
+ this.snapshots = new SnapshotsClient(http);
23
+ this.usage = new UsageClient(http);
24
+ }
25
+ }
26
+ export function createCoregitClient(options) {
27
+ return new CoregitClient(options);
28
+ }
29
+ export * from "./types";
30
+ export { ReposClient } from "./repos";
31
+ export { BranchesClient } from "./branches";
32
+ export { CommitsClient } from "./commits";
33
+ export { FilesClient } from "./files";
34
+ export { DiffClient } from "./diff";
35
+ export { SnapshotsClient } from "./snapshots";
36
+ export { UsageClient } from "./usage";
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD,MAAM,OAAO,aAAa;IASxB,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,UAAU,CACzB,OAAO,CAAC,OAAO,IAAI,gBAAgB,EACnC,OAAO,CAAC,MAAM,EACd,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { HttpClient } from "./http";
2
+ import type { CoregitResult, CreateRepoInput, PaginationOptions, Repo, RepoListResponse, UpdateRepoInput } from "./types";
3
+ export declare class ReposClient {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ create(input: CreateRepoInput): Promise<CoregitResult<Repo>>;
7
+ list(opts?: PaginationOptions): Promise<CoregitResult<RepoListResponse>>;
8
+ get(slug: string): Promise<CoregitResult<Repo>>;
9
+ update(slug: string, input: UpdateRepoInput): Promise<CoregitResult<Repo>>;
10
+ delete(slug: string): Promise<CoregitResult<{
11
+ deleted: boolean;
12
+ }>>;
13
+ }
14
+ //# sourceMappingURL=repos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../src/repos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,IAAI,EACJ,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,qBAAa,WAAW;IACV,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAI5D,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAQxE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAI/C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAI1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAGnE"}
package/dist/repos.js ADDED
@@ -0,0 +1,27 @@
1
+ export class ReposClient {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ create(input) {
6
+ return this.http.request("POST", "/v1/repos", input);
7
+ }
8
+ list(opts) {
9
+ const params = new URLSearchParams();
10
+ if (opts?.limit !== undefined)
11
+ params.set("limit", String(opts.limit));
12
+ if (opts?.offset !== undefined)
13
+ params.set("offset", String(opts.offset));
14
+ const qs = params.toString();
15
+ return this.http.request("GET", `/v1/repos${qs ? `?${qs}` : ""}`);
16
+ }
17
+ get(slug) {
18
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(slug)}`);
19
+ }
20
+ update(slug, input) {
21
+ return this.http.request("PATCH", `/v1/repos/${encodeURIComponent(slug)}`, input);
22
+ }
23
+ delete(slug) {
24
+ return this.http.request("DELETE", `/v1/repos/${encodeURIComponent(slug)}`);
25
+ }
26
+ }
27
+ //# sourceMappingURL=repos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos.js","sourceRoot":"","sources":["../src/repos.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,WAAW;IACtB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,MAAM,CAAC,KAAsB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,IAAwB;QAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAmB,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO,KAAK,EAAE,aAAa,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,KAAsB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO,OAAO,EAAE,aAAa,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuB,QAAQ,EAAE,aAAa,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { HttpClient } from "./http";
2
+ import type { CoregitResult, CreateSnapshotInput, RestoreInput, RestoreResult, Snapshot, SnapshotListResponse } from "./types";
3
+ export declare class SnapshotsClient {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ create(repoSlug: string, input: CreateSnapshotInput): Promise<CoregitResult<Snapshot>>;
7
+ list(repoSlug: string): Promise<CoregitResult<SnapshotListResponse>>;
8
+ get(repoSlug: string, name: string): Promise<CoregitResult<Snapshot>>;
9
+ delete(repoSlug: string, name: string): Promise<CoregitResult<{
10
+ deleted: boolean;
11
+ }>>;
12
+ restore(repoSlug: string, name: string, opts?: RestoreInput): Promise<CoregitResult<RestoreResult>>;
13
+ }
14
+ //# sourceMappingURL=snapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../src/snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,qBAAa,eAAe;IACd,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAItF,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAIpE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAIrE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAIpF,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;CAOpG"}
@@ -0,0 +1,21 @@
1
+ export class SnapshotsClient {
2
+ constructor(http) {
3
+ this.http = http;
4
+ }
5
+ create(repoSlug, input) {
6
+ return this.http.request("POST", `/v1/repos/${encodeURIComponent(repoSlug)}/snapshots`, input);
7
+ }
8
+ list(repoSlug) {
9
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/snapshots`);
10
+ }
11
+ get(repoSlug, name) {
12
+ return this.http.request("GET", `/v1/repos/${encodeURIComponent(repoSlug)}/snapshots/${encodeURIComponent(name)}`);
13
+ }
14
+ delete(repoSlug, name) {
15
+ return this.http.request("DELETE", `/v1/repos/${encodeURIComponent(repoSlug)}/snapshots/${encodeURIComponent(name)}`);
16
+ }
17
+ restore(repoSlug, name, opts) {
18
+ return this.http.request("POST", `/v1/repos/${encodeURIComponent(repoSlug)}/snapshots/${encodeURIComponent(name)}/restore`, opts);
19
+ }
20
+ }
21
+ //# sourceMappingURL=snapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../src/snapshots.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,eAAe;IAC1B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,MAAM,CAAC,QAAgB,EAAE,KAA0B;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAW,MAAM,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAuB,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/G,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,IAAY;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAW,KAAK,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/H,CAAC;IAED,MAAM,CAAC,QAAgB,EAAE,IAAY;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,kBAAkB,CAAC,QAAQ,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAmB;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACtB,MAAM,EACN,aAAa,kBAAkB,CAAC,QAAQ,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,UAAU,EACzF,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,194 @@
1
+ export type FetchLike = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
2
+ export interface CoregitClientOptions {
3
+ apiKey: string;
4
+ baseUrl?: string;
5
+ fetch?: FetchLike;
6
+ }
7
+ export interface CoregitResult<T> {
8
+ data: T | null;
9
+ error: CoregitError | null;
10
+ status: number;
11
+ }
12
+ export interface CoregitError {
13
+ message: string;
14
+ code?: string;
15
+ status?: number;
16
+ }
17
+ export interface CreateRepoInput {
18
+ slug: string;
19
+ description?: string;
20
+ default_branch?: string;
21
+ visibility?: "public" | "private";
22
+ init?: boolean;
23
+ }
24
+ export interface UpdateRepoInput {
25
+ description?: string;
26
+ visibility?: "public" | "private";
27
+ default_branch?: string;
28
+ }
29
+ export interface Repo {
30
+ id: string;
31
+ slug: string;
32
+ description: string | null;
33
+ default_branch: string;
34
+ visibility: string;
35
+ git_url: string;
36
+ api_url: string;
37
+ created_at: string;
38
+ updated_at?: string;
39
+ is_empty?: boolean;
40
+ }
41
+ export interface RepoListResponse {
42
+ repos: Repo[];
43
+ limit: number;
44
+ offset: number;
45
+ }
46
+ export interface CreateBranchInput {
47
+ name: string;
48
+ from?: string;
49
+ from_sha?: string;
50
+ }
51
+ export interface Branch {
52
+ name: string;
53
+ sha: string;
54
+ }
55
+ export interface BranchListResponse {
56
+ branches: Branch[];
57
+ default_branch: string;
58
+ }
59
+ export interface MergeInput {
60
+ target?: string;
61
+ strategy?: string;
62
+ }
63
+ export interface MergeResult {
64
+ merged: boolean;
65
+ sha: string;
66
+ strategy: string;
67
+ }
68
+ export interface FileChange {
69
+ path: string;
70
+ content?: string;
71
+ encoding?: "utf-8" | "base64";
72
+ action?: "delete";
73
+ }
74
+ export interface CreateCommitInput {
75
+ branch: string;
76
+ message: string;
77
+ author: {
78
+ name: string;
79
+ email: string;
80
+ };
81
+ changes: FileChange[];
82
+ parent_sha?: string;
83
+ }
84
+ export interface CommitResult {
85
+ sha: string;
86
+ tree_sha: string;
87
+ branch: string;
88
+ parent: string;
89
+ }
90
+ export interface Commit {
91
+ sha: string;
92
+ message: string;
93
+ tree: string;
94
+ author_name: string;
95
+ author_email: string;
96
+ timestamp: number;
97
+ parents: string[];
98
+ }
99
+ export interface CommitListResponse {
100
+ commits: Commit[];
101
+ ref: string;
102
+ has_more: boolean;
103
+ }
104
+ export interface TreeEntry {
105
+ name: string;
106
+ path: string;
107
+ type: "folder" | "file";
108
+ sha: string;
109
+ mode: string;
110
+ }
111
+ export interface TreeResponse {
112
+ items: TreeEntry[];
113
+ path: string;
114
+ ref: string;
115
+ sha: string;
116
+ }
117
+ export interface BlobResponse {
118
+ content: string;
119
+ encoding: "utf-8" | "base64";
120
+ path: string;
121
+ sha: string;
122
+ size: number;
123
+ }
124
+ export interface Ref {
125
+ name: string;
126
+ sha: string;
127
+ type: "branch" | "tag";
128
+ }
129
+ export interface RefsResponse {
130
+ branches: Ref[];
131
+ tags: Ref[];
132
+ default_branch: string;
133
+ }
134
+ export interface DiffFile {
135
+ path: string;
136
+ status: "added" | "removed" | "modified";
137
+ old_sha: string | null;
138
+ new_sha: string | null;
139
+ }
140
+ export interface DiffResponse {
141
+ base: string;
142
+ head: string;
143
+ files: DiffFile[];
144
+ total_files_changed: number;
145
+ total_additions: number;
146
+ total_deletions: number;
147
+ }
148
+ export interface CreateSnapshotInput {
149
+ name: string;
150
+ branch?: string;
151
+ metadata?: Record<string, unknown>;
152
+ }
153
+ export interface Snapshot {
154
+ name: string;
155
+ branch: string;
156
+ commit_sha: string;
157
+ metadata: Record<string, unknown> | null;
158
+ created_at: string;
159
+ }
160
+ export interface SnapshotListResponse {
161
+ snapshots: Snapshot[];
162
+ }
163
+ export interface RestoreInput {
164
+ target_branch?: string;
165
+ }
166
+ export interface RestoreResult {
167
+ restored: boolean;
168
+ branch: string;
169
+ sha: string;
170
+ }
171
+ export interface UsageSummary {
172
+ period: string;
173
+ api_calls: number;
174
+ repos_created: number;
175
+ storage_bytes: number;
176
+ git_transfer_bytes: number;
177
+ }
178
+ export interface UsageEvent {
179
+ id: number;
180
+ event_type: string;
181
+ quantity: number;
182
+ metadata: Record<string, unknown> | null;
183
+ recorded_at: string;
184
+ }
185
+ export interface UsageDetailsResponse {
186
+ events: UsageEvent[];
187
+ limit: number;
188
+ offset: number;
189
+ }
190
+ export interface PaginationOptions {
191
+ limit?: number;
192
+ offset?: number;
193
+ }
194
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map