chief-clancy 0.5.6 → 0.5.7
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.
- package/README.md +1 -1
- package/dist/bundle/clancy-once.js +38 -32
- package/dist/schemas/bitbucket-pr.d.ts +15 -0
- package/dist/schemas/bitbucket-pr.d.ts.map +1 -1
- package/dist/schemas/bitbucket-pr.js +6 -0
- package/dist/schemas/bitbucket-pr.js.map +1 -1
- package/dist/schemas/github.d.ts +12 -0
- package/dist/schemas/github.d.ts.map +1 -1
- package/dist/schemas/github.js +2 -0
- package/dist/schemas/github.js.map +1 -1
- package/dist/schemas/gitlab-mr.d.ts +11 -0
- package/dist/schemas/gitlab-mr.d.ts.map +1 -1
- package/dist/schemas/gitlab-mr.js +2 -0
- package/dist/schemas/gitlab-mr.js.map +1 -1
- package/dist/scripts/board/github/github.d.ts +1 -1
- package/dist/scripts/board/github/github.d.ts.map +1 -1
- package/dist/scripts/board/github/github.js +2 -2
- package/dist/scripts/board/github/github.js.map +1 -1
- package/dist/scripts/once/once.d.ts.map +1 -1
- package/dist/scripts/once/once.js +156 -25
- package/dist/scripts/once/once.js.map +1 -1
- package/dist/scripts/shared/git-ops/git-ops.d.ts +11 -0
- package/dist/scripts/shared/git-ops/git-ops.d.ts.map +1 -1
- package/dist/scripts/shared/git-ops/git-ops.js +26 -0
- package/dist/scripts/shared/git-ops/git-ops.js.map +1 -1
- package/dist/scripts/shared/preflight/preflight.d.ts.map +1 -1
- package/dist/scripts/shared/preflight/preflight.js +15 -3
- package/dist/scripts/shared/preflight/preflight.js.map +1 -1
- package/dist/scripts/shared/progress/progress.d.ts +2 -1
- package/dist/scripts/shared/progress/progress.d.ts.map +1 -1
- package/dist/scripts/shared/progress/progress.js +29 -13
- package/dist/scripts/shared/progress/progress.js.map +1 -1
- package/dist/scripts/shared/pull-request/bitbucket/bitbucket.d.ts +12 -0
- package/dist/scripts/shared/pull-request/bitbucket/bitbucket.d.ts.map +1 -1
- package/dist/scripts/shared/pull-request/bitbucket/bitbucket.js +51 -1
- package/dist/scripts/shared/pull-request/bitbucket/bitbucket.js.map +1 -1
- package/dist/scripts/shared/pull-request/github/github.d.ts +26 -2
- package/dist/scripts/shared/pull-request/github/github.d.ts.map +1 -1
- package/dist/scripts/shared/pull-request/github/github.js +102 -9
- package/dist/scripts/shared/pull-request/github/github.js.map +1 -1
- package/dist/scripts/shared/pull-request/gitlab/gitlab.d.ts +30 -2
- package/dist/scripts/shared/pull-request/gitlab/gitlab.d.ts.map +1 -1
- package/dist/scripts/shared/pull-request/gitlab/gitlab.js +70 -4
- package/dist/scripts/shared/pull-request/gitlab/gitlab.js.map +1 -1
- package/dist/scripts/shared/pull-request/pr-body/pr-body.d.ts.map +1 -1
- package/dist/scripts/shared/pull-request/pr-body/pr-body.js +6 -1
- package/dist/scripts/shared/pull-request/pr-body/pr-body.js.map +1 -1
- package/dist/types/remote.d.ts +2 -0
- package/dist/types/remote.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -39,6 +39,9 @@ export declare const bitbucketCommentSchema: z.ZodMiniObject<{
|
|
|
39
39
|
path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
40
40
|
}, z.core.$strip>>;
|
|
41
41
|
created_on: z.ZodMiniString<string>;
|
|
42
|
+
user: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
43
|
+
nickname: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
44
|
+
}, z.core.$strip>>;
|
|
42
45
|
}, z.core.$strip>;
|
|
43
46
|
/** Response from `GET /repositories/{workspace}/{slug}/pullrequests/{id}/comments` (paginated). */
|
|
44
47
|
export declare const bitbucketCommentsSchema: z.ZodMiniObject<{
|
|
@@ -50,6 +53,9 @@ export declare const bitbucketCommentsSchema: z.ZodMiniObject<{
|
|
|
50
53
|
path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
51
54
|
}, z.core.$strip>>;
|
|
52
55
|
created_on: z.ZodMiniString<string>;
|
|
56
|
+
user: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
57
|
+
nickname: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
58
|
+
}, z.core.$strip>>;
|
|
53
59
|
}, z.core.$strip>>;
|
|
54
60
|
}, z.core.$strip>;
|
|
55
61
|
/** A single PR from the Server list endpoint. */
|
|
@@ -85,6 +91,9 @@ export declare const bitbucketServerCommentSchema: z.ZodMiniObject<{
|
|
|
85
91
|
path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
86
92
|
}, z.core.$strip>>;
|
|
87
93
|
createdDate: z.ZodMiniNumber<number>;
|
|
94
|
+
author: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
95
|
+
slug: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
96
|
+
}, z.core.$strip>>;
|
|
88
97
|
}, z.core.$strip>;
|
|
89
98
|
/** A single activity on a Server PR (from /activities endpoint). */
|
|
90
99
|
export declare const bitbucketServerActivitySchema: z.ZodMiniObject<{
|
|
@@ -95,6 +104,9 @@ export declare const bitbucketServerActivitySchema: z.ZodMiniObject<{
|
|
|
95
104
|
path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
96
105
|
}, z.core.$strip>>;
|
|
97
106
|
createdDate: z.ZodMiniNumber<number>;
|
|
107
|
+
author: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
108
|
+
slug: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
109
|
+
}, z.core.$strip>>;
|
|
98
110
|
}, z.core.$strip>>;
|
|
99
111
|
}, z.core.$strip>;
|
|
100
112
|
/** Response from `GET /rest/api/latest/.../pull-requests/{id}/activities` (paginated). */
|
|
@@ -107,6 +119,9 @@ export declare const bitbucketServerActivitiesSchema: z.ZodMiniObject<{
|
|
|
107
119
|
path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
108
120
|
}, z.core.$strip>>;
|
|
109
121
|
createdDate: z.ZodMiniNumber<number>;
|
|
122
|
+
author: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
123
|
+
slug: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
124
|
+
}, z.core.$strip>>;
|
|
110
125
|
}, z.core.$strip>>;
|
|
111
126
|
}, z.core.$strip>>;
|
|
112
127
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitbucket-pr.d.ts","sourceRoot":"","sources":["../../src/schemas/bitbucket-pr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAM9B,gDAAgD;AAChD,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAW5B,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAEhC,CAAC;AAEH,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"bitbucket-pr.d.ts","sourceRoot":"","sources":["../../src/schemas/bitbucket-pr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAM9B,gDAAgD;AAChD,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAW5B,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAEhC,CAAC;AAEH,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAajC,CAAC;AAEH,mGAAmG;AACnG,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;iBAElC,CAAC;AAMH,iDAAiD;AACjD,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAUlC,CAAC;AAEH,kGAAkG;AAClG,eAAO,MAAM,2BAA2B;;;;;;;;;;;;iBAEtC,CAAC;AAEH,wDAAwD;AACxD,eAAO,MAAM,4BAA4B;;;;;;;;;iBAavC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAGxC,CAAC;AAEH,0FAA0F;AAC1F,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;iBAE1C,CAAC;AAKH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAKxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC"}
|
|
@@ -27,6 +27,9 @@ export const bitbucketCommentSchema = z.object({
|
|
|
27
27
|
path: z.optional(z.string()),
|
|
28
28
|
})),
|
|
29
29
|
created_on: z.string(),
|
|
30
|
+
user: z.optional(z.object({
|
|
31
|
+
nickname: z.optional(z.string()),
|
|
32
|
+
})),
|
|
30
33
|
});
|
|
31
34
|
/** Response from `GET /repositories/{workspace}/{slug}/pullrequests/{id}/comments` (paginated). */
|
|
32
35
|
export const bitbucketCommentsSchema = z.object({
|
|
@@ -56,6 +59,9 @@ export const bitbucketServerCommentSchema = z.object({
|
|
|
56
59
|
path: z.optional(z.string()),
|
|
57
60
|
})),
|
|
58
61
|
createdDate: z.number(),
|
|
62
|
+
author: z.optional(z.object({
|
|
63
|
+
slug: z.optional(z.string()),
|
|
64
|
+
})),
|
|
59
65
|
});
|
|
60
66
|
/** A single activity on a Server PR (from /activities endpoint). */
|
|
61
67
|
export const bitbucketServerActivitySchema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitbucket-pr.js","sourceRoot":"","sources":["../../src/schemas/bitbucket-pr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,gDAAgD;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;KAC7D,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,KAAK,CACnB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACH;CACF,CAAC,CAAC;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;CACnC,CAAC,CAAC;AAEH,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAChB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC7B,CAAC,CACH;IACD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"bitbucket-pr.js","sourceRoot":"","sources":["../../src/schemas/bitbucket-pr.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/github.d.ts
CHANGED
|
@@ -27,12 +27,18 @@ export declare const githubCommentSchema: z.ZodMiniObject<{
|
|
|
27
27
|
id: z.ZodMiniNumber<number>;
|
|
28
28
|
body: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
29
29
|
created_at: z.ZodMiniString<string>;
|
|
30
|
+
user: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
31
|
+
login: z.ZodMiniString<string>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
30
33
|
}, z.core.$strip>;
|
|
31
34
|
/** Response from `GET /repos/{owner}/{repo}/issues/{number}/comments` (array of comments). */
|
|
32
35
|
export declare const githubCommentsResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
|
|
33
36
|
id: z.ZodMiniNumber<number>;
|
|
34
37
|
body: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
35
38
|
created_at: z.ZodMiniString<string>;
|
|
39
|
+
user: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
40
|
+
login: z.ZodMiniString<string>;
|
|
41
|
+
}, z.core.$strip>>;
|
|
36
42
|
}, z.core.$strip>>;
|
|
37
43
|
/** A single PR from the list endpoint. */
|
|
38
44
|
export declare const githubPrSchema: z.ZodMiniObject<{
|
|
@@ -67,12 +73,18 @@ export declare const githubPrCommentSchema: z.ZodMiniObject<{
|
|
|
67
73
|
body: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
68
74
|
path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
69
75
|
created_at: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
76
|
+
user: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
77
|
+
login: z.ZodMiniString<string>;
|
|
78
|
+
}, z.core.$strip>>;
|
|
70
79
|
}, z.core.$strip>;
|
|
71
80
|
/** Response from `GET /repos/{owner}/{repo}/pulls/{number}/comments` (array). */
|
|
72
81
|
export declare const githubPrCommentsSchema: z.ZodMiniArray<z.ZodMiniObject<{
|
|
73
82
|
body: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
|
|
74
83
|
path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
75
84
|
created_at: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
85
|
+
user: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
86
|
+
login: z.ZodMiniString<string>;
|
|
87
|
+
}, z.core.$strip>>;
|
|
76
88
|
}, z.core.$strip>>;
|
|
77
89
|
export type GitHubIssue = z.infer<typeof githubIssueSchema>;
|
|
78
90
|
export type GitHubIssuesResponse = z.infer<typeof githubIssuesResponseSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/schemas/github.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B,oDAAoD;AACpD,eAAO,MAAM,iBAAiB;;;;;;;;iBAY5B,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B;;;;;;;;kBAA6B,CAAC;AAErE,gEAAgE;AAChE,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/schemas/github.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B,oDAAoD;AACpD,eAAO,MAAM,iBAAiB;;;;;;;;iBAY5B,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B;;;;;;;;kBAA6B,CAAC;AAErE,gEAAgE;AAChE,eAAO,MAAM,mBAAmB;;;;;;;iBAK9B,CAAC;AAEH,8FAA8F;AAC9F,eAAO,MAAM,4BAA4B;;;;;;;kBAA+B,CAAC;AAEzE,0CAA0C;AAC1C,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,kBAAkB;;;;kBAA0B,CAAC;AAE1D,+BAA+B;AAC/B,eAAO,MAAM,kBAAkB;;;;;;iBAI7B,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,sBAAsB;;;;;;kBAA8B,CAAC;AAElE,8CAA8C;AAC9C,eAAO,MAAM,qBAAqB;;;;;;;iBAKhC,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,sBAAsB;;;;;;;kBAAiC,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
package/dist/schemas/github.js
CHANGED
|
@@ -19,6 +19,7 @@ export const githubCommentSchema = z.object({
|
|
|
19
19
|
id: z.number(),
|
|
20
20
|
body: z.optional(z.nullable(z.string())),
|
|
21
21
|
created_at: z.string(),
|
|
22
|
+
user: z.optional(z.object({ login: z.string() })),
|
|
22
23
|
});
|
|
23
24
|
/** Response from `GET /repos/{owner}/{repo}/issues/{number}/comments` (array of comments). */
|
|
24
25
|
export const githubCommentsResponseSchema = z.array(githubCommentSchema);
|
|
@@ -43,6 +44,7 @@ export const githubPrCommentSchema = z.object({
|
|
|
43
44
|
body: z.optional(z.nullable(z.string())),
|
|
44
45
|
path: z.optional(z.string()),
|
|
45
46
|
created_at: z.optional(z.string()),
|
|
47
|
+
user: z.optional(z.object({ login: z.string() })),
|
|
46
48
|
});
|
|
47
49
|
/** Response from `GET /repos/{owner}/{repo}/pulls/{number}/comments` (array). */
|
|
48
50
|
export const githubPrCommentsSchema = z.array(githubPrCommentSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/schemas/github.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,QAAQ,CACnB,CAAC,CAAC,QAAQ,CACR,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CACH,CACF;CACF,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAErE,gEAAgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/schemas/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,13 @@ export declare const gitlabNoteSchema: z.ZodMiniObject<{
|
|
|
25
25
|
position: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
26
26
|
new_path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
27
27
|
}, z.core.$strip>>;
|
|
28
|
+
author: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
29
|
+
username: z.ZodMiniString<string>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
28
31
|
}, z.core.$strip>;
|
|
29
32
|
/** A single MR discussion (contains one or more notes). */
|
|
30
33
|
export declare const gitlabDiscussionSchema: z.ZodMiniObject<{
|
|
34
|
+
id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
31
35
|
notes: z.ZodMiniArray<z.ZodMiniObject<{
|
|
32
36
|
body: z.ZodMiniString<string>;
|
|
33
37
|
resolvable: z.ZodMiniBoolean<boolean>;
|
|
@@ -38,10 +42,14 @@ export declare const gitlabDiscussionSchema: z.ZodMiniObject<{
|
|
|
38
42
|
position: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
39
43
|
new_path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
40
44
|
}, z.core.$strip>>;
|
|
45
|
+
author: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
46
|
+
username: z.ZodMiniString<string>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
41
48
|
}, z.core.$strip>>;
|
|
42
49
|
}, z.core.$strip>;
|
|
43
50
|
/** Response from `GET /projects/:id/merge_requests/:iid/discussions` (array). */
|
|
44
51
|
export declare const gitlabDiscussionsSchema: z.ZodMiniArray<z.ZodMiniObject<{
|
|
52
|
+
id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
45
53
|
notes: z.ZodMiniArray<z.ZodMiniObject<{
|
|
46
54
|
body: z.ZodMiniString<string>;
|
|
47
55
|
resolvable: z.ZodMiniBoolean<boolean>;
|
|
@@ -52,6 +60,9 @@ export declare const gitlabDiscussionsSchema: z.ZodMiniArray<z.ZodMiniObject<{
|
|
|
52
60
|
position: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
53
61
|
new_path: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
54
62
|
}, z.core.$strip>>;
|
|
63
|
+
author: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
64
|
+
username: z.ZodMiniString<string>;
|
|
65
|
+
}, z.core.$strip>>;
|
|
55
66
|
}, z.core.$strip>>;
|
|
56
67
|
}, z.core.$strip>>;
|
|
57
68
|
export type GitLabMr = z.infer<typeof gitlabMrSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-mr.d.ts","sourceRoot":"","sources":["../../src/schemas/gitlab-mr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,0CAA0C;AAC1C,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,kBAAkB;;;;kBAA0B,CAAC;AAE1D,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"gitlab-mr.d.ts","sourceRoot":"","sources":["../../src/schemas/gitlab-mr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,0CAA0C;AAC1C,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,kBAAkB;;;;kBAA0B,CAAC;AAE1D,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;iBAa3B,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;iBAGjC,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;kBAAkC,CAAC;AAEvE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -21,9 +21,11 @@ export const gitlabNoteSchema = z.object({
|
|
|
21
21
|
position: z.optional(z.object({
|
|
22
22
|
new_path: z.optional(z.string()),
|
|
23
23
|
})),
|
|
24
|
+
author: z.optional(z.object({ username: z.string() })),
|
|
24
25
|
});
|
|
25
26
|
/** A single MR discussion (contains one or more notes). */
|
|
26
27
|
export const gitlabDiscussionSchema = z.object({
|
|
28
|
+
id: z.optional(z.string()),
|
|
27
29
|
notes: z.array(gitlabNoteSchema),
|
|
28
30
|
});
|
|
29
31
|
/** Response from `GET /projects/:id/merge_requests/:iid/discussions` (array). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-mr.js","sourceRoot":"","sources":["../../src/schemas/gitlab-mr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9C,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAE1D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjC,CAAC,CACH;
|
|
1
|
+
{"version":3,"file":"gitlab-mr.js","sourceRoot":"","sources":["../../src/schemas/gitlab-mr.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9C,CAAC,CAAC;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAE1D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClB,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjC,CAAC,CACH;IACD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACvD,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACjC,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -29,7 +29,7 @@ export declare function pingGitHub(token: string, repo: string): Promise<PingRes
|
|
|
29
29
|
* @param token - The GitHub personal access token.
|
|
30
30
|
* @returns The GitHub username, or `@me` as a fallback.
|
|
31
31
|
*/
|
|
32
|
-
export declare function resolveUsername(token: string): Promise<string>;
|
|
32
|
+
export declare function resolveUsername(token: string, apiBase?: string): Promise<string>;
|
|
33
33
|
/**
|
|
34
34
|
* Fetch the next available issue from GitHub Issues.
|
|
35
35
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../../src/scripts/board/github/github.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAY/C,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../../src/scripts/board/github/github.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAY/C,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,MAAM,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAAC,CAyDxD;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAoBlB"}
|
|
@@ -56,11 +56,11 @@ export async function pingGitHub(token, repo) {
|
|
|
56
56
|
* @param token - The GitHub personal access token.
|
|
57
57
|
* @returns The GitHub username, or `@me` as a fallback.
|
|
58
58
|
*/
|
|
59
|
-
export async function resolveUsername(token) {
|
|
59
|
+
export async function resolveUsername(token, apiBase) {
|
|
60
60
|
if (cachedUsername)
|
|
61
61
|
return cachedUsername;
|
|
62
62
|
try {
|
|
63
|
-
const response = await fetch(`${GITHUB_API}/user`, {
|
|
63
|
+
const response = await fetch(`${apiBase ?? GITHUB_API}/user`, {
|
|
64
64
|
headers: githubHeaders(token),
|
|
65
65
|
});
|
|
66
66
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/scripts/board/github/github.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAE7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACL,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,+BAA+B,CAAC;AAIvC,2CAA2C;AAC3C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;AAE/D,qDAAqD;AACrD,IAAI,cAAkC,CAAC;AAEvC,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB;IAChC,cAAc,GAAG,SAAS,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,IAAY;IAEZ,OAAO,YAAY,CACjB,GAAG,UAAU,UAAU,IAAI,EAAE,EAC7B,aAAa,CAAC,KAAK,CAAC,EACpB;QACE,GAAG,EAAE,2CAA2C;QAChD,GAAG,EAAE,4BAA4B;QACjC,GAAG,EAAE,kBAAkB,IAAI,aAAa;KACzC,EACD,0CAA0C,CAC3C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/scripts/board/github/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../../src/scripts/once/once.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../../src/scripts/once/once.ts"],"names":[],"mappings":"AAm7BA;;;;;;;;;GASG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsUvD"}
|
|
@@ -18,14 +18,14 @@ import { invokeClaudeSession } from '../../scripts/shared/claude-cli/claude-cli.
|
|
|
18
18
|
import { detectBoard } from '../../scripts/shared/env-schema/env-schema.js';
|
|
19
19
|
import { checkFeasibility } from '../../scripts/shared/feasibility/feasibility.js';
|
|
20
20
|
import { formatDuration } from '../../scripts/shared/format/format.js';
|
|
21
|
-
import { checkout, currentBranch, deleteBranch, ensureBranch, fetchRemoteBranch, pushBranch, squashMerge, } from '../../scripts/shared/git-ops/git-ops.js';
|
|
21
|
+
import { checkout, currentBranch, deleteBranch, diffAgainstBranch, ensureBranch, fetchRemoteBranch, pushBranch, squashMerge, } from '../../scripts/shared/git-ops/git-ops.js';
|
|
22
22
|
import { sendNotification } from '../../scripts/shared/notify/notify.js';
|
|
23
23
|
import { runPreflight } from '../../scripts/shared/preflight/preflight.js';
|
|
24
24
|
import { appendProgress, countReworkCycles, findEntriesWithStatus, } from '../../scripts/shared/progress/progress.js';
|
|
25
25
|
import { buildPrompt, buildReworkPrompt, } from '../../scripts/shared/prompt/prompt.js';
|
|
26
|
-
import { checkPrReviewState as checkBitbucketPrReviewState, checkServerPrReviewState as checkBitbucketServerPrReviewState, createPullRequest as createBitbucketPr, createServerPullRequest as createBitbucketServerPr, fetchPrReviewComments as fetchBitbucketPrReviewComments, fetchServerPrReviewComments as fetchBitbucketServerPrReviewComments, } from '../../scripts/shared/pull-request/bitbucket/bitbucket.js';
|
|
27
|
-
import { checkPrReviewState as checkGitHubPrReviewState, createPullRequest as createGitHubPr, fetchPrReviewComments as fetchGitHubPrReviewComments, } from '../../scripts/shared/pull-request/github/github.js';
|
|
28
|
-
import { checkMrReviewState as checkGitLabMrReviewState, createMergeRequest as createGitLabMr, fetchMrReviewComments as fetchGitLabMrReviewComments, } from '../../scripts/shared/pull-request/gitlab/gitlab.js';
|
|
26
|
+
import { checkPrReviewState as checkBitbucketPrReviewState, checkServerPrReviewState as checkBitbucketServerPrReviewState, createPullRequest as createBitbucketPr, createServerPullRequest as createBitbucketServerPr, fetchPrReviewComments as fetchBitbucketPrReviewComments, fetchServerPrReviewComments as fetchBitbucketServerPrReviewComments, postCloudPrComment, postServerPrComment, } from '../../scripts/shared/pull-request/bitbucket/bitbucket.js';
|
|
27
|
+
import { checkPrReviewState as checkGitHubPrReviewState, createPullRequest as createGitHubPr, fetchPrReviewComments as fetchGitHubPrReviewComments, postPrComment as postGitHubPrComment, requestReview as requestGitHubReview, } from '../../scripts/shared/pull-request/github/github.js';
|
|
28
|
+
import { checkMrReviewState as checkGitLabMrReviewState, createMergeRequest as createGitLabMr, fetchMrReviewComments as fetchGitLabMrReviewComments, postMrNote, resolveDiscussions, } from '../../scripts/shared/pull-request/gitlab/gitlab.js';
|
|
29
29
|
import { buildPrBody } from '../../scripts/shared/pull-request/pr-body/pr-body.js';
|
|
30
30
|
import { buildApiBaseUrl, detectRemote, } from '../../scripts/shared/remote/remote.js';
|
|
31
31
|
import { bold, dim, green, red, yellow } from '../../utils/ansi/ansi.js';
|
|
@@ -103,7 +103,9 @@ async function fetchTicket(config) {
|
|
|
103
103
|
async function fetchReworkFromPrReview(config) {
|
|
104
104
|
const prCreated = findEntriesWithStatus(process.cwd(), 'PR_CREATED');
|
|
105
105
|
const reworked = findEntriesWithStatus(process.cwd(), 'REWORK');
|
|
106
|
-
const
|
|
106
|
+
const pushed = findEntriesWithStatus(process.cwd(), 'PUSHED');
|
|
107
|
+
const pushFailed = findEntriesWithStatus(process.cwd(), 'PUSH_FAILED');
|
|
108
|
+
const candidates = [...prCreated, ...reworked, ...pushed, ...pushFailed];
|
|
107
109
|
if (candidates.length === 0)
|
|
108
110
|
return undefined;
|
|
109
111
|
const platformOverride = sharedEnv(config).CLANCY_GIT_PLATFORM;
|
|
@@ -119,6 +121,16 @@ async function fetchReworkFromPrReview(config) {
|
|
|
119
121
|
const apiBase = buildApiBaseUrl(remote, sharedEnv(config).CLANCY_GIT_API_URL);
|
|
120
122
|
if (!apiBase)
|
|
121
123
|
return undefined;
|
|
124
|
+
// Resolve GitHub username for author filtering (GitHub only)
|
|
125
|
+
let ghUsername;
|
|
126
|
+
if (remote.host === 'github') {
|
|
127
|
+
try {
|
|
128
|
+
ghUsername = await resolveUsername(creds.token, apiBase);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Best-effort — skip author filtering if username resolution fails
|
|
132
|
+
}
|
|
133
|
+
}
|
|
122
134
|
// Limit to first 5 candidates to avoid rate limits
|
|
123
135
|
const toCheck = candidates.slice(0, 5);
|
|
124
136
|
for (const entry of toCheck) {
|
|
@@ -130,13 +142,13 @@ async function fetchReworkFromPrReview(config) {
|
|
|
130
142
|
// Falls back to undefined if timestamp is invalid (skips filtering).
|
|
131
143
|
let since;
|
|
132
144
|
if (entry.timestamp) {
|
|
133
|
-
const date = new Date(entry.timestamp.replace(' ', 'T'));
|
|
145
|
+
const date = new Date(entry.timestamp.replace(' ', 'T') + 'Z');
|
|
134
146
|
since = Number.isNaN(date.getTime()) ? undefined : date.toISOString();
|
|
135
147
|
}
|
|
136
148
|
let reviewState;
|
|
137
149
|
switch (remote.host) {
|
|
138
150
|
case 'github':
|
|
139
|
-
reviewState = await checkGitHubPrReviewState(creds.token, `${remote.owner}/${remote.repo}`, branch, remote.owner, apiBase, since);
|
|
151
|
+
reviewState = await checkGitHubPrReviewState(creds.token, `${remote.owner}/${remote.repo}`, branch, remote.owner, apiBase, since, ghUsername);
|
|
140
152
|
break;
|
|
141
153
|
case 'gitlab':
|
|
142
154
|
reviewState = await checkGitLabMrReviewState(creds.token, apiBase, remote.projectPath, branch, since);
|
|
@@ -151,13 +163,17 @@ async function fetchReworkFromPrReview(config) {
|
|
|
151
163
|
if (reviewState?.changesRequested) {
|
|
152
164
|
// Fetch review comments for the PR
|
|
153
165
|
let feedback = [];
|
|
166
|
+
let discussionIds;
|
|
154
167
|
switch (remote.host) {
|
|
155
168
|
case 'github':
|
|
156
|
-
feedback = await fetchGitHubPrReviewComments(creds.token, `${remote.owner}/${remote.repo}`, reviewState.prNumber, apiBase, since);
|
|
169
|
+
feedback = await fetchGitHubPrReviewComments(creds.token, `${remote.owner}/${remote.repo}`, reviewState.prNumber, apiBase, since, ghUsername);
|
|
157
170
|
break;
|
|
158
|
-
case 'gitlab':
|
|
159
|
-
|
|
171
|
+
case 'gitlab': {
|
|
172
|
+
const mrResult = await fetchGitLabMrReviewComments(creds.token, apiBase, remote.projectPath, reviewState.prNumber, since);
|
|
173
|
+
feedback = mrResult.comments;
|
|
174
|
+
discussionIds = mrResult.discussionIds;
|
|
160
175
|
break;
|
|
176
|
+
}
|
|
161
177
|
case 'bitbucket':
|
|
162
178
|
feedback = await fetchBitbucketPrReviewComments(creds.username, creds.token, remote.workspace, remote.repoSlug, reviewState.prNumber, since);
|
|
163
179
|
break;
|
|
@@ -168,11 +184,17 @@ async function fetchReworkFromPrReview(config) {
|
|
|
168
184
|
const ticket = {
|
|
169
185
|
key: entry.key,
|
|
170
186
|
title: entry.summary,
|
|
171
|
-
description:
|
|
187
|
+
description: entry.summary,
|
|
172
188
|
parentInfo: 'none',
|
|
173
189
|
blockers: 'None',
|
|
174
190
|
};
|
|
175
|
-
return {
|
|
191
|
+
return {
|
|
192
|
+
ticket,
|
|
193
|
+
feedback,
|
|
194
|
+
prNumber: reviewState.prNumber,
|
|
195
|
+
discussionIds,
|
|
196
|
+
reviewers: reviewState.reviewers ?? [],
|
|
197
|
+
};
|
|
176
198
|
}
|
|
177
199
|
}
|
|
178
200
|
return undefined;
|
|
@@ -316,6 +338,9 @@ function buildManualPrUrl(remote, ticketBranch, targetBranch) {
|
|
|
316
338
|
if (remote.host === 'bitbucket') {
|
|
317
339
|
return `https://${remote.hostname}/${remote.workspace}/${remote.repoSlug}/pull-requests/new?source=${encodedTicket}&dest=${encodedTarget}`;
|
|
318
340
|
}
|
|
341
|
+
if (remote.host === 'bitbucket-server') {
|
|
342
|
+
return `https://${remote.hostname}/projects/${remote.projectKey}/repos/${remote.repoSlug}/pull-requests?create&sourceBranch=refs/heads/${encodedTicket}&targetBranch=refs/heads/${encodedTarget}`;
|
|
343
|
+
}
|
|
319
344
|
return undefined;
|
|
320
345
|
}
|
|
321
346
|
// ─── Delivery paths ──────────────────────────────────────────────────────────
|
|
@@ -354,13 +379,14 @@ async function deliverViaEpicMerge(config, ticket, ticketBranch, targetBranch) {
|
|
|
354
379
|
*
|
|
355
380
|
* @returns `false` if the push failed (caller should handle early return).
|
|
356
381
|
*/
|
|
357
|
-
async function deliverViaPullRequest(config, ticket, ticketBranch, targetBranch, startTime) {
|
|
382
|
+
async function deliverViaPullRequest(config, ticket, ticketBranch, targetBranch, startTime, skipLog = false) {
|
|
358
383
|
const pushed = pushBranch(ticketBranch);
|
|
359
384
|
if (!pushed) {
|
|
360
385
|
console.log(yellow(`⚠ Could not push ${ticketBranch} to origin.`));
|
|
361
386
|
console.log(dim(' The branch is still available locally. Push manually:'));
|
|
362
387
|
console.log(dim(` git push -u origin ${ticketBranch}`));
|
|
363
|
-
|
|
388
|
+
if (!skipLog)
|
|
389
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'PUSH_FAILED');
|
|
364
390
|
checkout(targetBranch);
|
|
365
391
|
const elapsed = formatDuration(Date.now() - startTime);
|
|
366
392
|
console.log('');
|
|
@@ -385,11 +411,13 @@ async function deliverViaPullRequest(config, ticket, ticketBranch, targetBranch,
|
|
|
385
411
|
const pr = await attemptPrCreation(config, remote, ticketBranch, targetBranch, prTitle, prBody);
|
|
386
412
|
if (pr?.ok) {
|
|
387
413
|
console.log(green(` ✓ PR created: ${pr.url}`));
|
|
388
|
-
|
|
414
|
+
if (!skipLog)
|
|
415
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'PR_CREATED', pr.number);
|
|
389
416
|
}
|
|
390
417
|
else if (pr && !pr.ok && pr.alreadyExists) {
|
|
391
418
|
console.log(yellow(` ⚠ A PR/MR already exists for ${ticketBranch}. Branch pushed.`));
|
|
392
|
-
|
|
419
|
+
if (!skipLog)
|
|
420
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'PUSHED');
|
|
393
421
|
}
|
|
394
422
|
else if (pr && !pr.ok) {
|
|
395
423
|
console.log(yellow(` ⚠ PR/MR creation failed: ${pr.error}`));
|
|
@@ -400,7 +428,8 @@ async function deliverViaPullRequest(config, ticket, ticketBranch, targetBranch,
|
|
|
400
428
|
else {
|
|
401
429
|
console.log(dim(' Branch pushed — create a PR/MR manually.'));
|
|
402
430
|
}
|
|
403
|
-
|
|
431
|
+
if (!skipLog)
|
|
432
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'PUSHED');
|
|
404
433
|
}
|
|
405
434
|
else {
|
|
406
435
|
// No token available for this platform
|
|
@@ -411,17 +440,20 @@ async function deliverViaPullRequest(config, ticket, ticketBranch, targetBranch,
|
|
|
411
440
|
else {
|
|
412
441
|
console.log(dim(' Branch pushed to remote. Create a PR/MR manually.'));
|
|
413
442
|
}
|
|
414
|
-
|
|
443
|
+
if (!skipLog)
|
|
444
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'PUSHED');
|
|
415
445
|
}
|
|
416
446
|
}
|
|
417
447
|
else if (remote.host === 'none') {
|
|
418
448
|
console.log(yellow(`⚠ No git remote configured. Branch available locally: ${ticketBranch}`));
|
|
419
|
-
|
|
449
|
+
if (!skipLog)
|
|
450
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'LOCAL');
|
|
420
451
|
}
|
|
421
452
|
else {
|
|
422
453
|
// Unknown or Azure remote — just note the push
|
|
423
454
|
console.log(dim(' Branch pushed to remote. Create a PR/MR manually.'));
|
|
424
|
-
|
|
455
|
+
if (!skipLog)
|
|
456
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'PUSHED');
|
|
425
457
|
}
|
|
426
458
|
// Transition to In Review (not Done — PR hasn't been merged yet)
|
|
427
459
|
// For GitHub Issues: do NOT close — PR body has "Closes #N" for auto-close on merge
|
|
@@ -435,6 +467,93 @@ async function deliverViaPullRequest(config, ticket, ticketBranch, targetBranch,
|
|
|
435
467
|
checkout(targetBranch);
|
|
436
468
|
return true;
|
|
437
469
|
}
|
|
470
|
+
// ─── Post-rework actions ──────────────────────────────────────────────────
|
|
471
|
+
/**
|
|
472
|
+
* Build a rework comment to post on the PR after pushing fixes.
|
|
473
|
+
*
|
|
474
|
+
* Prefixed with `[clancy]` (not `Rework:`) so it does NOT trigger
|
|
475
|
+
* rework detection on the next cycle.
|
|
476
|
+
*/
|
|
477
|
+
function buildReworkComment(feedback) {
|
|
478
|
+
if (feedback.length === 0) {
|
|
479
|
+
return '[clancy] Rework pushed addressing reviewer feedback.';
|
|
480
|
+
}
|
|
481
|
+
const count = feedback.length;
|
|
482
|
+
const summary = feedback
|
|
483
|
+
.slice(0, 3)
|
|
484
|
+
.map((f) => `- ${f.slice(0, 80)}`)
|
|
485
|
+
.join('\n');
|
|
486
|
+
const suffix = feedback.length > 3 ? '\n- ...' : '';
|
|
487
|
+
return `[clancy] Rework pushed addressing ${count} feedback item${count !== 1 ? 's' : ''}.\n\n${summary}${suffix}`;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Perform post-rework actions: comment on PR, re-request review (GitHub),
|
|
491
|
+
* resolve threads (GitLab). All best-effort — failures warn but don't block.
|
|
492
|
+
*/
|
|
493
|
+
async function postReworkActions(config, prNumber, feedback, discussionIds, reviewers) {
|
|
494
|
+
const platformOverride = sharedEnv(config).CLANCY_GIT_PLATFORM;
|
|
495
|
+
const remote = detectRemote(platformOverride);
|
|
496
|
+
if (remote.host === 'none' ||
|
|
497
|
+
remote.host === 'unknown' ||
|
|
498
|
+
remote.host === 'azure') {
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
const creds = resolveGitToken(config, remote);
|
|
502
|
+
if (!creds)
|
|
503
|
+
return;
|
|
504
|
+
const apiBase = buildApiBaseUrl(remote, sharedEnv(config).CLANCY_GIT_API_URL);
|
|
505
|
+
if (!apiBase)
|
|
506
|
+
return;
|
|
507
|
+
const comment = buildReworkComment(feedback);
|
|
508
|
+
// 1. Post rework comment
|
|
509
|
+
try {
|
|
510
|
+
let posted = false;
|
|
511
|
+
switch (remote.host) {
|
|
512
|
+
case 'github':
|
|
513
|
+
posted = await postGitHubPrComment(creds.token, `${remote.owner}/${remote.repo}`, prNumber, comment, apiBase);
|
|
514
|
+
break;
|
|
515
|
+
case 'gitlab':
|
|
516
|
+
posted = await postMrNote(creds.token, apiBase, remote.projectPath, prNumber, comment);
|
|
517
|
+
break;
|
|
518
|
+
case 'bitbucket':
|
|
519
|
+
posted = await postCloudPrComment(creds.username, creds.token, remote.workspace, remote.repoSlug, prNumber, comment);
|
|
520
|
+
break;
|
|
521
|
+
case 'bitbucket-server':
|
|
522
|
+
posted = await postServerPrComment(creds.token, apiBase, remote.projectKey, remote.repoSlug, prNumber, comment);
|
|
523
|
+
break;
|
|
524
|
+
}
|
|
525
|
+
if (posted) {
|
|
526
|
+
console.log(dim(' ✓ Posted rework comment'));
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
catch {
|
|
530
|
+
// Best-effort
|
|
531
|
+
}
|
|
532
|
+
// 2. GitLab: resolve addressed discussion threads
|
|
533
|
+
if (remote.host === 'gitlab' && discussionIds && discussionIds.length > 0) {
|
|
534
|
+
try {
|
|
535
|
+
const resolved = await resolveDiscussions(creds.token, apiBase, remote.projectPath, prNumber, discussionIds);
|
|
536
|
+
if (resolved > 0) {
|
|
537
|
+
console.log(dim(` ✓ Resolved ${resolved} discussion thread${resolved !== 1 ? 's' : ''}`));
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
catch {
|
|
541
|
+
// Best-effort
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
// 3. GitHub: re-request review from reviewers who requested changes
|
|
545
|
+
if (remote.host === 'github' && reviewers && reviewers.length > 0) {
|
|
546
|
+
try {
|
|
547
|
+
const ok = await requestGitHubReview(creds.token, `${remote.owner}/${remote.repo}`, prNumber, reviewers, apiBase);
|
|
548
|
+
if (ok) {
|
|
549
|
+
console.log(dim(` ✓ Re-requested review from ${reviewers.join(', ')}`));
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
catch {
|
|
553
|
+
// Best-effort
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
438
557
|
// ─── Main orchestrator ───────────────────────────────────────────────────────
|
|
439
558
|
/**
|
|
440
559
|
* Run the once orchestrator — full ticket lifecycle.
|
|
@@ -489,6 +608,9 @@ export async function run(argv) {
|
|
|
489
608
|
// 5. Check rework — PR-based detection, then fresh ticket
|
|
490
609
|
let isRework = false;
|
|
491
610
|
let prFeedback;
|
|
611
|
+
let reworkPrNumber;
|
|
612
|
+
let reworkDiscussionIds;
|
|
613
|
+
let reworkReviewers;
|
|
492
614
|
let ticket;
|
|
493
615
|
// PR-based rework (automatic, no config needed)
|
|
494
616
|
try {
|
|
@@ -497,6 +619,9 @@ export async function run(argv) {
|
|
|
497
619
|
isRework = true;
|
|
498
620
|
ticket = prRework.ticket;
|
|
499
621
|
prFeedback = prRework.feedback;
|
|
622
|
+
reworkPrNumber = prRework.prNumber;
|
|
623
|
+
reworkDiscussionIds = prRework.discussionIds;
|
|
624
|
+
reworkReviewers = prRework.reviewers;
|
|
500
625
|
console.log(yellow(` ↻ PR rework: [${ticket.key}] ${ticket.title}`));
|
|
501
626
|
}
|
|
502
627
|
}
|
|
@@ -609,7 +734,7 @@ export async function run(argv) {
|
|
|
609
734
|
description: ticket.description,
|
|
610
735
|
provider: config.provider,
|
|
611
736
|
feedbackComments: prFeedback ?? [],
|
|
612
|
-
previousContext:
|
|
737
|
+
previousContext: diffAgainstBranch(targetBranch),
|
|
613
738
|
});
|
|
614
739
|
}
|
|
615
740
|
else {
|
|
@@ -631,11 +756,17 @@ export async function run(argv) {
|
|
|
631
756
|
const hasParent = ticket.parentInfo !== 'none';
|
|
632
757
|
if (isRework) {
|
|
633
758
|
// PR-flow rework: push to existing branch, PR updates automatically
|
|
634
|
-
const delivered = await deliverViaPullRequest(config, ticket, ticketBranch, targetBranch, startTime);
|
|
635
|
-
if (!delivered)
|
|
759
|
+
const delivered = await deliverViaPullRequest(config, ticket, ticketBranch, targetBranch, startTime, true);
|
|
760
|
+
if (!delivered) {
|
|
761
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'PUSH_FAILED');
|
|
636
762
|
return;
|
|
637
|
-
|
|
638
|
-
|
|
763
|
+
}
|
|
764
|
+
// Log single REWORK entry (skipLog prevents deliverViaPullRequest from double-logging)
|
|
765
|
+
appendProgress(process.cwd(), ticket.key, ticket.title, 'REWORK', reworkPrNumber);
|
|
766
|
+
// Post-rework actions (all best-effort)
|
|
767
|
+
if (reworkPrNumber != null) {
|
|
768
|
+
await postReworkActions(config, reworkPrNumber, prFeedback ?? [], reworkDiscussionIds, reworkReviewers);
|
|
769
|
+
}
|
|
639
770
|
}
|
|
640
771
|
else if (hasParent) {
|
|
641
772
|
await deliverViaEpicMerge(config, ticket, ticketBranch, targetBranch);
|