@effected/github 0.4.2 → 0.4.3

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.
@@ -29,14 +29,23 @@ const SECURITY_ANALYSIS_STATUS_FIELDS = /* @__PURE__ */ new Set([
29
29
  * mapped from snake_case keys to camelCase GraphQL input fields.
30
30
  *
31
31
  * @remarks
32
- * GitHub never exposed these two on the REST repository endpoint. Setting
33
- * either forces a second round trip to learn the repository's node id.
32
+ * GitHub never exposed these on the REST repository endpoint — the
33
+ * `PATCH /repos/{owner}/{repo}` route accepts none of them, and
34
+ * `has_discussions` is the treacherous one: the REST **read** returns it, so
35
+ * routing its write to the PATCH looks symmetric, but the PATCH silently
36
+ * ignores unknown body fields and answers 200 — reported as applied on every
37
+ * run while the repository never changed (effected#358). Setting any of these
38
+ * forces a second round trip to learn the repository's node id.
39
+ *
40
+ * Field names verified against `UpdateRepositoryInput` by live introspection,
41
+ * 2026-08-15.
34
42
  *
35
43
  * @public
36
44
  */
37
45
  const GRAPHQL_ONLY_SETTINGS = {
38
46
  has_sponsorships: "hasSponsorshipsEnabled",
39
- has_pull_requests: "hasPullRequestsEnabled"
47
+ has_pull_requests: "hasPullRequestsEnabled",
48
+ has_discussions: "hasDiscussionsEnabled"
40
49
  };
41
50
  /** `{ status: "enabled" | "disabled" }` — the form GitHub accepts and the type declares. */
42
51
  const isStatusObject = (raw) => {
package/index.d.ts CHANGED
@@ -2009,6 +2009,19 @@ interface GitHubIssueShape {
2009
2009
  * @remarks
2010
2010
  * The idempotence guard one consumer wrote a bespoke timeline query for,
2011
2011
  * so that re-running a workflow does not comment twice.
2012
+ *
2013
+ * Two hazards before building on it (effected#306):
2014
+ *
2015
+ * - **An issue obtained from `linkedIssues(pr)` answers `true` from the
2016
+ * outset** — the closing link itself puts a cross-reference on the
2017
+ * issue's timeline. As a "have I commented yet?" guard on those issues
2018
+ * the answer is always yes, and the comment is never posted. Guard a
2019
+ * comment by looking for the comment (a marker in its body), not for a
2020
+ * cross-reference.
2021
+ * - **It observes `CROSS_REFERENCED_EVENT` only, not `ConnectedEvent`** —
2022
+ * an issue a human attached through the sidebar's Development section is
2023
+ * connected, not cross-referenced, and reads `false` here even though
2024
+ * GitHub's UI shows the link.
2012
2025
  */
2013
2026
  readonly isCrossReferencedBy: (issueNumber: number, prNumber: number) => Effect.Effect<boolean, GitHubGraphQLError, Repo>;
2014
2027
  }
@@ -2166,8 +2179,16 @@ declare const SECURITY_ANALYSIS_STATUS_FIELDS: ReadonlySet<string>;
2166
2179
  * mapped from snake_case keys to camelCase GraphQL input fields.
2167
2180
  *
2168
2181
  * @remarks
2169
- * GitHub never exposed these two on the REST repository endpoint. Setting
2170
- * either forces a second round trip to learn the repository's node id.
2182
+ * GitHub never exposed these on the REST repository endpoint — the
2183
+ * `PATCH /repos/{owner}/{repo}` route accepts none of them, and
2184
+ * `has_discussions` is the treacherous one: the REST **read** returns it, so
2185
+ * routing its write to the PATCH looks symmetric, but the PATCH silently
2186
+ * ignores unknown body fields and answers 200 — reported as applied on every
2187
+ * run while the repository never changed (effected#358). Setting any of these
2188
+ * forces a second round trip to learn the repository's node id.
2189
+ *
2190
+ * Field names verified against `UpdateRepositoryInput` by live introspection,
2191
+ * 2026-08-15.
2171
2192
  *
2172
2193
  * @public
2173
2194
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effected/github",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "private": false,
5
5
  "description": "Typed GitHub REST and GraphQL services over the octokit core request surface, with app auth and resource helpers.",
6
6
  "keywords": [