ue-mcp 1.2.0-beta → 1.2.0-beta.2

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,18 +1,38 @@
1
1
  import { resolveUserAuth, clearUserAuth } from "./auth.js";
2
- import { CORE_REPO, registryBase, repoSlug, sameRepo } from "./registry-catalog.js";
2
+ import { CORE_REPO, feedbackBase, registryBase, repoSlug, sameRepo, } from "./registry-catalog.js";
3
3
  /**
4
- * Hosted signing endpoint for the anonymous bot path.
4
+ * Hosted signing endpoints for the anonymous bot path, in the order they are
5
+ * tried.
5
6
  *
6
7
  * This package holds no GitHub App credential. Anonymous reports are POSTed as
7
8
  * plain JSON to the endpoint, which holds the App key in server-side secrets,
8
- * mints a short-lived installation token, and opens the issue. Overridable so a
9
- * self-hosted registry (or a local one during development) can serve it.
9
+ * mints a short-lived installation token, and opens the issue.
10
+ *
11
+ * Feedback has its own public name, `feedback.ue-mcp.com`, so it is no longer
12
+ * addressed through the plugin registry's hostname. The registry path stays as
13
+ * a fallback for two reasons: a deployment older than that name, or self-hosted,
14
+ * still answers there, and while DNS for the new name propagates the anonymous
15
+ * path keeps working instead of going dark.
16
+ *
17
+ * Overrides:
18
+ * UE_MCP_FEEDBACK_ENDPOINT full URL. Exact, and the only candidate: an
19
+ * operator who named a URL means that URL, and
20
+ * silently posting somewhere else would be worse
21
+ * than failing.
22
+ * UE_MCP_FEEDBACK origin only, root path.
23
+ * UE_MCP_REGISTRY when set without UE_MCP_FEEDBACK, that self-hosted
24
+ * origin is tried first, since its operator meant
25
+ * their deployment, not the public one.
10
26
  */
11
- function signingEndpoint() {
27
+ function signingEndpoints() {
12
28
  const override = process.env.UE_MCP_FEEDBACK_ENDPOINT?.trim();
13
29
  if (override)
14
- return override.replace(/\/+$/, "");
15
- return `${registryBase()}/api/feedback`;
30
+ return [override.replace(/\/+$/, "")];
31
+ const hosted = `${feedbackBase()}/`;
32
+ const viaRegistry = `${registryBase()}/api/feedback`;
33
+ const selfHostedRegistry = Boolean(process.env.UE_MCP_REGISTRY?.trim());
34
+ const ordered = selfHostedRegistry ? [viaRegistry, hosted] : [hosted, viaRegistry];
35
+ return ordered.filter((url, i) => ordered.indexOf(url) === i);
16
36
  }
17
37
  /** The signing endpoint should answer in well under this; a slow one is a dead one. */
18
38
  const SIGNING_TIMEOUT_MS = 20_000;
@@ -42,8 +62,7 @@ const REPO_REFUSED_STATUSES = new Set([403, 404, 410]);
42
62
  * is an outcome the caller can act on (file as the user, or open the prefilled
43
63
  * URL), so the only thing thrown here is a genuinely unexpected response shape.
44
64
  */
45
- async function submitAsBot(title, body, labels, repo) {
46
- const endpoint = signingEndpoint();
65
+ async function attemptSigning(endpoint, title, body, labels, repo) {
47
66
  let res;
48
67
  try {
49
68
  res = await fetch(endpoint, {
@@ -58,10 +77,14 @@ async function submitAsBot(title, body, labels, repo) {
58
77
  });
59
78
  }
60
79
  catch (e) {
80
+ // DNS, TLS, timeout: nothing answered, so another origin is worth a try.
61
81
  return {
62
- kind: "bot_unavailable",
63
- code: "unreachable",
64
- message: `Could not reach the feedback signing service at ${endpoint} (${e instanceof Error ? e.message : String(e)}).`,
82
+ endpointMissing: true,
83
+ result: {
84
+ kind: "bot_unavailable",
85
+ code: "unreachable",
86
+ message: `Could not reach the feedback signing service at ${endpoint} (${e instanceof Error ? e.message : String(e)}).`,
87
+ },
65
88
  };
66
89
  }
67
90
  let payload = {};
@@ -73,52 +96,103 @@ async function submitAsBot(title, body, labels, repo) {
73
96
  }
74
97
  if (res.ok && payload.url && typeof payload.number === "number") {
75
98
  return {
76
- kind: "submitted",
77
- url: payload.url,
78
- number: payload.number,
79
- authoredBy: payload.authoredBy ?? "ue-mcp-feedback[bot]",
80
- authoredAs: "bot",
81
- repo: payload.repo ?? repoSlug(repo),
99
+ endpointMissing: false,
100
+ result: {
101
+ kind: "submitted",
102
+ url: payload.url,
103
+ number: payload.number,
104
+ authoredBy: payload.authoredBy ?? "ue-mcp-feedback[bot]",
105
+ authoredAs: "bot",
106
+ repo: payload.repo ?? repoSlug(repo),
107
+ },
82
108
  };
83
109
  }
84
110
  // The tracker said no. Same outcome as a direct refusal used to be, so the
85
111
  // callers' existing recovery (prefilled URL, or re-file on core) applies.
86
112
  if (payload.code === "repo_unavailable" || payload.code === "repo_not_allowed") {
87
113
  return {
88
- kind: "repo_unavailable",
89
- repo: repoSlug(repo),
90
- status: payload.status ?? res.status,
91
- message: (payload.error ?? "The tracker refused the issue.").slice(0, 300),
114
+ endpointMissing: false,
115
+ result: {
116
+ kind: "repo_unavailable",
117
+ repo: repoSlug(repo),
118
+ status: payload.status ?? res.status,
119
+ message: (payload.error ?? "The tracker refused the issue.").slice(0, 300),
120
+ },
92
121
  };
93
122
  }
94
- if (res.status === 503 || payload.code === "signing_not_configured") {
123
+ if (payload.code === "signing_not_configured") {
95
124
  return {
96
- kind: "bot_unavailable",
97
- code: "not_configured",
98
- message: payload.error ?? "Anonymous feedback signing is not enabled on this deployment.",
125
+ endpointMissing: false,
126
+ result: {
127
+ kind: "bot_unavailable",
128
+ code: "not_configured",
129
+ message: payload.error ?? "Anonymous feedback signing is not enabled on this deployment.",
130
+ },
99
131
  };
100
132
  }
101
- // A bare 404 is the endpoint not existing at this origin, not a tracker
102
- // saying no. Report it as the anonymous path being off.
103
- if (res.status === 404 && !payload.code) {
133
+ if (res.status === 429 || payload.code === "rate_limited") {
104
134
  return {
105
- kind: "bot_unavailable",
106
- code: "not_configured",
107
- message: `No feedback signing service at ${endpoint}.`,
135
+ endpointMissing: false,
136
+ result: {
137
+ kind: "bot_unavailable",
138
+ code: "rate_limited",
139
+ message: payload.error ?? "Too many anonymous submissions from here recently.",
140
+ retryAfter: payload.retry_after ?? (Number(res.headers.get("retry-after")) || undefined),
141
+ },
108
142
  };
109
143
  }
110
- if (res.status === 429 || payload.code === "rate_limited") {
144
+ /**
145
+ * Nothing recognisable came back. A 404 or 405 is the endpoint not existing
146
+ * at this origin, and a 5xx with no code of ours is a proxy or a cold
147
+ * deployment answering instead of the handler. Neither is a tracker saying
148
+ * no, so report the anonymous path as off and let the caller try the next
149
+ * origin.
150
+ */
151
+ if (!payload.code && (res.status === 404 || res.status === 405 || res.status >= 500)) {
111
152
  return {
112
- kind: "bot_unavailable",
113
- code: "rate_limited",
114
- message: payload.error ?? "Too many anonymous submissions from here recently.",
115
- retryAfter: payload.retry_after ?? (Number(res.headers.get("retry-after")) || undefined),
153
+ endpointMissing: true,
154
+ result: {
155
+ kind: "bot_unavailable",
156
+ code: "not_configured",
157
+ message: `No feedback signing service at ${endpoint}.`,
158
+ },
116
159
  };
117
160
  }
161
+ return {
162
+ endpointMissing: false,
163
+ result: {
164
+ kind: "bot_unavailable",
165
+ code: "rejected",
166
+ message: `${payload.error ?? "The feedback signing service rejected the submission."} (HTTP ${res.status})`,
167
+ },
168
+ };
169
+ }
170
+ /**
171
+ * Try each known signing origin until one of them actually answers.
172
+ *
173
+ * The report itself is never at risk here: every branch below is an outcome the
174
+ * caller can act on, so an offline service ends with a prefilled issue URL in
175
+ * the user's hands rather than an exception.
176
+ */
177
+ async function submitAsBot(title, body, labels, repo) {
178
+ const endpoints = signingEndpoints();
179
+ const missed = [];
180
+ for (const endpoint of endpoints) {
181
+ const attempt = await attemptSigning(endpoint, title, body, labels, repo);
182
+ if (!attempt.endpointMissing)
183
+ return attempt.result;
184
+ missed.push(attempt.result);
185
+ }
186
+ // One candidate: keep the original, more specific outcome.
187
+ if (missed.length === 1)
188
+ return missed[0];
189
+ // Every origin came up empty. Name them all, because the usual cause is a
190
+ // host that has not resolved yet and the user can see that from the message.
191
+ const allUnreachable = missed.every((r) => r.kind === "bot_unavailable" && r.code === "unreachable");
118
192
  return {
119
193
  kind: "bot_unavailable",
120
- code: "rejected",
121
- message: `${payload.error ?? "The feedback signing service rejected the submission."} (HTTP ${res.status})`,
194
+ code: allUnreachable ? "unreachable" : "not_configured",
195
+ message: `No feedback signing service answered at ${endpoints.join(" or ")}.`,
122
196
  };
123
197
  }
124
198
  function pendingResult(pending) {
@@ -1 +1 @@
1
- {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../src/github-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAA0B,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAC;AAErG;;;;;;;GAOG;AACH,SAAS,eAAe;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,GAAG,YAAY,EAAE,eAAe,CAAC;AAC1C,CAAC;AAED,uFAAuF;AACvF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAgB;IACtC,OAAO,gCAAgC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAiDvD;;;;;;;GAOG;AACH,KAAK,UAAU,WAAW,CACxB,KAAa,EACb,IAAY,EACZ,MAAgB,EAChB,IAAgB;IAEhB,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,QAAQ;aACvB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,mDAAmD,QAAQ,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;SACxH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAoB,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;IAED,IAAI,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,sBAAsB;YACxD,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;SACrC,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC/E,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM;YACpC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,gCAAgC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;SAC3E,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACpE,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,+DAA+D;SAC1F,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,kCAAkC,QAAQ,GAAG;SACvD,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,oDAAoD;YAC9E,UAAU,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,SAAS,CAAC;SACzF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,uDAAuD,UAAU,GAAG,CAAC,MAAM,GAAG;KAC5G,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAA0B;IAC/C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,IAAY,EACZ,SAAmB,CAAC,gBAAgB,CAAC,EACrC,UAAmD,EAAE;IAErD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;IACvC,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAE9C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,SAAS,KAAK,EAAE;YAC/B,MAAM,EAAE,6BAA6B;YACrC,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,QAAQ;SACvB;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEL,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,aAAa,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClE,8DAA8D;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACxG,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAyC,CAAC;QAC3E,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,MAAM,CAAC,QAAQ;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;YAC5B,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACvG,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyC,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,KAAK,CAAC,QAAQ;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;QAC3B,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../src/github-app.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,18 @@ export interface GitHubRepo {
36
36
  /** ue-mcp core. Everything that is not plugin-owned lands here. */
37
37
  export declare const CORE_REPO: GitHubRepo;
38
38
  export declare function registryBase(): string;
39
+ /**
40
+ * Origin of the anonymous feedback signing service.
41
+ *
42
+ * Separate from the registry on purpose. Feedback about ue-mcp core has nothing
43
+ * to do with the plugin catalog, and addressing it through the catalog's
44
+ * hostname tied two unrelated surfaces together. Both names happen to be served
45
+ * by the same deployment today, which is an operational detail, not a contract.
46
+ *
47
+ * `UE_MCP_FEEDBACK` overrides the origin; `UE_MCP_FEEDBACK_ENDPOINT` (read in
48
+ * src/github-app.ts) overrides the full URL when the path differs too.
49
+ */
50
+ export declare function feedbackBase(): string;
39
51
  /** `https://github.com/db-lyon/pie-studio(.git)` -> `{owner, repo}`. */
40
52
  export declare function parseGitHubRepo(url: string | null | undefined): GitHubRepo | null;
41
53
  /** `owner/name` for display and comparison. */
@@ -7,6 +7,20 @@ export const CORE_REPO = { owner: "db-lyon", repo: "ue-mcp" };
7
7
  export function registryBase() {
8
8
  return (process.env.UE_MCP_REGISTRY ?? "https://plugins.ue-mcp.com").replace(/\/+$/, "");
9
9
  }
10
+ /**
11
+ * Origin of the anonymous feedback signing service.
12
+ *
13
+ * Separate from the registry on purpose. Feedback about ue-mcp core has nothing
14
+ * to do with the plugin catalog, and addressing it through the catalog's
15
+ * hostname tied two unrelated surfaces together. Both names happen to be served
16
+ * by the same deployment today, which is an operational detail, not a contract.
17
+ *
18
+ * `UE_MCP_FEEDBACK` overrides the origin; `UE_MCP_FEEDBACK_ENDPOINT` (read in
19
+ * src/github-app.ts) overrides the full URL when the path differs too.
20
+ */
21
+ export function feedbackBase() {
22
+ return (process.env.UE_MCP_FEEDBACK ?? "https://feedback.ue-mcp.com").replace(/\/+$/, "");
23
+ }
10
24
  /** `https://github.com/db-lyon/pie-studio(.git)` -> `{owner, repo}`. */
11
25
  export function parseGitHubRepo(url) {
12
26
  if (!url)
@@ -1 +1 @@
1
- {"version":3,"file":"registry-catalog.js","sourceRoot":"","sources":["../src/registry-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-catalog.js","sourceRoot":"","sources":["../src/registry-catalog.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,6 @@
31
31
  },
32
32
  "nativeToolsets": 52,
33
33
  "nativeToolActions": 830,
34
- "generatedAt": "2026-08-05T22:50:40.191Z",
35
- "version": "1.2.0-beta"
34
+ "generatedAt": "2026-08-05T23:23:34.367Z",
35
+ "version": "1.2.0-beta.2"
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ue-mcp",
3
- "version": "1.2.0-beta",
3
+ "version": "1.2.0-beta.2",
4
4
  "description": "Unreal Engine MCP server - 24 tools, 783+ actions for AI-driven editor control",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -56,6 +56,7 @@
56
56
  "test:unit": "vitest run tests/unit",
57
57
  "test:multi-editor": "vitest run tests/multi-editor",
58
58
  "golden:record": "node scripts/record-golden.mjs",
59
+ "release:notes": "node scripts/compose-release-notes.mjs",
59
60
  "audit:docs": "node scripts/audit-docs.mjs && node scripts/audit-params.mjs",
60
61
  "audit:handlers": "node scripts/audit-handlers.mjs",
61
62
  "audit:em-dash": "node scripts/check-em-dashes.mjs",