@kud/gh 0.1.0 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"pr-comments.d.ts","sourceRoot":"","sources":["../src/pr-comments.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,EAAE,CAAA;IACvB,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AA8GD,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,QAAQ,MAAM,KACb,OAAO,CAAC,UAAU,CAqBpB,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,SAAS,oBAAoB,KAC5B,OAAO,CAAC,IAAI,CAId,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAKrE,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAMvE,CAAA"}
1
+ {"version":3,"file":"pr-comments.d.ts","sourceRoot":"","sources":["../src/pr-comments.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,EAAE,CAAA;IACvB,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAsHD,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,QAAQ,MAAM,KACb,OAAO,CAAC,UAAU,CAoCpB,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,SAAS,oBAAoB,KAC5B,OAAO,CAAC,IAAI,CAId,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAKrE,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAMvE,CAAA"}
@@ -4,7 +4,10 @@ const FETCH_PR_COMMENTS_QUERY = `
4
4
  repository(owner:$owner, name:$name) {
5
5
  pullRequest(number:$number) {
6
6
  headRefName
7
- comments(first: 50) { nodes { author { login } body } }
7
+ body
8
+ author { login }
9
+ createdAt
10
+ comments(first: 50) { nodes { author { login } body createdAt } }
8
11
  reviewThreads(first: 100) {
9
12
  nodes {
10
13
  id path line originalLine isResolved isOutdated
@@ -35,6 +38,7 @@ const authorLogin = (author) => author?.login ?? "ghost";
35
38
  const mapConversationComment = (node) => ({
36
39
  author: authorLogin(node.author),
37
40
  body: node.body.trim(),
41
+ createdAt: node.createdAt,
38
42
  });
39
43
  const mapThreadComment = (node) => ({
40
44
  author: authorLogin(node.author),
@@ -64,9 +68,23 @@ export const fetchPrComments = async (owner, name, number) => {
64
68
  if (!pullRequest) {
65
69
  throw new Error(`pull request not found: ${owner}/${name}#${number}`);
66
70
  }
71
+ // The description leads the conversation, the way GitHub's own Conversation
72
+ // tab treats it: a PR whose body carries its whole argument otherwise renders
73
+ // as having nothing said on it, which reads as empty rather than unanswered.
74
+ const description = (pullRequest.body ?? "").trim();
75
+ const conversation = pullRequest.comments.nodes.map(mapConversationComment);
67
76
  return {
68
77
  headRef: pullRequest.headRefName ?? "HEAD",
69
- conversation: pullRequest.comments.nodes.map(mapConversationComment),
78
+ conversation: description
79
+ ? [
80
+ {
81
+ author: authorLogin(pullRequest.author),
82
+ body: description,
83
+ createdAt: pullRequest.createdAt,
84
+ },
85
+ ...conversation,
86
+ ]
87
+ : conversation,
70
88
  threads: pullRequest.reviewThreads.nodes.map(mapReviewThread),
71
89
  };
72
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pr-comments.js","sourceRoot":"","sources":["../src/pr-comments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr-comments.js","sourceRoot":"","sources":["../src/pr-comments.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kud/gh",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Surface-agnostic GitHub core — gh CLI primitives, PR review comments, health, and webhook logic.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",