fest-gateway 0.5.0 → 0.5.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.
@@ -21,6 +21,7 @@ import { handleMessages } from "../pipeline/passthrough.js";
21
21
  import { splitBedrockMount, refuseUnconfigured } from "../pipeline/bedrock.js";
22
22
  import { CHATGPT_MOUNT, CHATGPT_PATHS, OPENAI_MOUNT, OPENAI_PATHS, handleCodexModels, refuseDisabled, splitMount, } from "../pipeline/openai.js";
23
23
  import { OPENAI_RESPONSES_WIRE } from "../pipeline/wire.js";
24
+ import { handleCopilot, refuseUnknownPlan, relayCopilotMcp, splitCopilotMount } from "../pipeline/copilot.js";
24
25
  import { openaiError } from "./errors.js";
25
26
  import { detectInbound } from "../auth/posture.js";
26
27
  import { createStaticHost } from "./static.js";
@@ -185,6 +186,35 @@ export function createServer(deps) {
185
186
  handleModels(res, routesOf(), Array.isArray(inm) ? inm[0] : inm);
186
187
  return;
187
188
  }
189
+ /**
190
+ * Copilot CLI on its own Copilot login. A mount like the Codex ones
191
+ * below, for the same reason: the credential is the caller's, so
192
+ * routing gets no vote. See `pipeline/copilot.ts`.
193
+ */
194
+ const copilot = splitCopilotMount(remainder);
195
+ if (copilot !== null) {
196
+ if (deps.config.copilotBaseUrl === null) {
197
+ refuseDisabled(res, "FEST_COPILOT_BASE_URL");
198
+ return;
199
+ }
200
+ if (copilot.plan === null) {
201
+ refuseUnknownPlan(res);
202
+ return;
203
+ }
204
+ await handleCopilot(req, res, {
205
+ ctx: { ...ctx, publicBaseUrl: deps.config.publicUrl },
206
+ template: deps.config.copilotBaseUrl,
207
+ plan: copilot.plan,
208
+ rest: copilot.rest,
209
+ });
210
+ return;
211
+ }
212
+ // Copilot's built-in GitHub MCP server, which Copilot addresses at the
213
+ // origin and so arrives here without a token or a plan.
214
+ if ((path === "/mcp" || path.startsWith("/mcp/")) && deps.config.copilotMcpBaseUrl !== null) {
215
+ await relayCopilotMcp(req, res, { upstreamBaseUrl: deps.config.copilotMcpBaseUrl, path: remainder });
216
+ return;
217
+ }
188
218
  /**
189
219
  * Codex, on the developer's own OpenAI key (`/openai`) or ChatGPT login
190
220
  * (`/chatgpt`). Mounts, like Bedrock below, and for the same reason:
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../server/http/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../server/http/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * Copilot CLI, on the developer's own Copilot login.
3
+ *
4
+ * Copilot CLI sends its model traffic to GitHub's Copilot API, at the host its
5
+ * `copilot_internal/user` response names for the account's plan:
6
+ * `api.individual.githubcopilot.com`, `api.business.…`, `api.enterprise.…`.
7
+ * Its `COPILOT_API_URL` override replaces that host, and `fest copilot` points
8
+ * it at `<fest>/t/<token>/copilot/<plan>`. The plan is in the path because the
9
+ * gateway serves every developer and each one's plan picks a different host;
10
+ * the path is also what keeps this from being an open relay — the upstream is
11
+ * one of three GitHub hosts, never something a caller names.
12
+ *
13
+ * What arrives, captured from Copilot CLI 1.0.96 (October 2026):
14
+ *
15
+ * - `GET /models`, `POST /auto` (model routing), then the turn itself on one
16
+ * of three wires, chosen per model: `POST /v1/messages` (Claude),
17
+ * `POST /responses` (GPT-5 and later), `POST /chat/completions` (the rest).
18
+ * The turn is metered; everything else under the mount is relayed as is.
19
+ * - It first tries the Responses call as a WebSocket upgrade, and falls back
20
+ * to HTTP when the upgrade is refused. Fest refuses it (Node destroys an
21
+ * upgrade socket nobody listens for), so every turn is plain HTTP SSE.
22
+ * - `Authorization: Bearer gho_…` on everything: the GitHub OAuth token of
23
+ * Copilot's own login, with no exchange for a short-lived Copilot token.
24
+ * - The built-in GitHub MCP server's calls go to `<origin>/mcp/readonly`,
25
+ * dropping the API URL's path — and with it the identity token and the
26
+ * plan. They are relayed from the root by `relayCopilotMcp`, unmetered and
27
+ * unattributed, to the one host GitHub serves that server from.
28
+ *
29
+ * ── The GitHub token ─────────────────────────────────────────────────────────
30
+ *
31
+ * It is forwarded and forgotten, under the same rules as every other relayed
32
+ * credential, and it is a broader credential than a model key — it can act on
33
+ * the developer's GitHub account — so it is worth stating where it goes:
34
+ *
35
+ * - upstream, in the `Authorization` header it arrived in, and nowhere else;
36
+ * - into a 12-hex-character SHA-256 fingerprint on the request row, the same
37
+ * non-reversible correlation id every credential gets;
38
+ * - never into a log line (`redactSecrets` knows `gh[opsu]_` and
39
+ * `github_pat_`), an error message, the store, or the live feed.
40
+ *
41
+ * `test/copilot-http.test.ts` checks all of that against the real writer, by
42
+ * scanning the SQLite files and the captured log output for the token.
43
+ */
44
+ import { joinUpstreamUrl } from "../adapters/url.js";
45
+ import { detectInbound } from "../auth/posture.js";
46
+ import { readBodyBytes, isTooLarge } from "../http/body.js";
47
+ import { openaiError } from "../http/errors.js";
48
+ import { buildDownstreamHeaders, buildUpstreamHeaders } from "../http/headers.js";
49
+ import { log } from "../log.js";
50
+ import { handleMessages } from "./passthrough.js";
51
+ import { COPILOT_ANTHROPIC_WIRE, COPILOT_CHAT_WIRE, COPILOT_RESPONSES_WIRE, } from "./wire.js";
52
+ export const COPILOT_MOUNT = "/copilot";
53
+ /** The plans GitHub serves from their own API host. */
54
+ export const COPILOT_PLANS = ["individual", "business", "enterprise"];
55
+ const MAX_BODY_BYTES = 32 * 1024 * 1024;
56
+ function pathnameOf(url) {
57
+ const q = url.indexOf("?");
58
+ return q === -1 ? url : url.slice(0, q);
59
+ }
60
+ /**
61
+ * Split `/copilot/<plan>/<rest>` into its plan and the path to relay.
62
+ *
63
+ * Returns null when the path is not under the mount at all, and `plan: null`
64
+ * when it is but the plan segment is not one GitHub serves. `rest` keeps the
65
+ * query string.
66
+ */
67
+ export function splitCopilotMount(remainder) {
68
+ if (remainder !== COPILOT_MOUNT && !remainder.startsWith(`${COPILOT_MOUNT}/`) && !remainder.startsWith(`${COPILOT_MOUNT}?`)) {
69
+ return null;
70
+ }
71
+ const after = remainder.slice(COPILOT_MOUNT.length + 1);
72
+ const cut = after.search(/[/?]/);
73
+ const segment = cut === -1 ? after : after.slice(0, cut);
74
+ const rest = cut === -1 ? "/" : after.slice(cut);
75
+ const plan = COPILOT_PLANS.includes(segment) ? segment : null;
76
+ return { plan, rest: rest.startsWith("?") ? `/${rest}` : rest };
77
+ }
78
+ /** The upstream for one plan: the configured template with `{plan}` filled in. */
79
+ export function copilotUpstream(template, plan) {
80
+ return template.replaceAll("{plan}", plan);
81
+ }
82
+ /** The wire a request is metered on, or null when it is not a model call. */
83
+ export function copilotWire(method, restPath) {
84
+ if (method !== "POST")
85
+ return null;
86
+ if (restPath === "/v1/messages")
87
+ return COPILOT_ANTHROPIC_WIRE;
88
+ if (restPath === "/chat/completions")
89
+ return COPILOT_CHAT_WIRE;
90
+ // `/responses/compact` and anything else beneath it bills as model work.
91
+ if (restPath === "/responses" || restPath.startsWith("/responses/"))
92
+ return COPILOT_RESPONSES_WIRE;
93
+ return null;
94
+ }
95
+ /**
96
+ * Who is calling, checked before anything is relayed.
97
+ *
98
+ * The same two failure modes as `handleMessages`, with Copilot's remedy in the
99
+ * message rather than Claude Code's: Copilot shows `error.message` too, and a
100
+ * sentence about `ANTHROPIC_BASE_URL` would send the developer the wrong way.
101
+ * Returns false when it has already answered.
102
+ */
103
+ function admit(req, res, ctx) {
104
+ const inbound = detectInbound(req.url ?? "/", req.headers);
105
+ const resolved = ctx.resolveIdentity(inbound.identityToken);
106
+ if (resolved !== null) {
107
+ ctx.touchToken?.(resolved.tokenId);
108
+ return true;
109
+ }
110
+ const deny = (message) => {
111
+ res.writeHead(401, { "content-type": "application/json", "x-should-retry": "false" });
112
+ res.end(openaiError("authentication_error", message));
113
+ return false;
114
+ };
115
+ if (inbound.identityToken !== null) {
116
+ return deny("Fest: your identity token is not valid (unknown, revoked, or expired). Run `fest login`, then `fest copilot` again.");
117
+ }
118
+ if (ctx.requireIdentity) {
119
+ return deny("Fest: this gateway needs to know who you are. Run `fest login`, then start Copilot with `fest copilot`.");
120
+ }
121
+ return true;
122
+ }
123
+ /**
124
+ * Relay one request as is: body in, status, headers and body out, streamed.
125
+ *
126
+ * For everything that is not a model call — the model list, `/auto`, the MCP
127
+ * server. Nothing is recorded: none of it uses tokens, and a row per model-list
128
+ * fetch would drag every per-request average toward zero, which is the reason
129
+ * `count_tokens` is not recorded either.
130
+ */
131
+ async function relay(req, res, target) {
132
+ const method = req.method ?? "GET";
133
+ let body;
134
+ if (method !== "GET" && method !== "HEAD") {
135
+ const read = await readBodyBytes(req, MAX_BODY_BYTES);
136
+ if (isTooLarge(read)) {
137
+ res.writeHead(413, { "content-type": "application/json" });
138
+ res.end(openaiError("invalid_request_error", `Fest: request body exceeds ${MAX_BODY_BYTES} bytes.`));
139
+ return;
140
+ }
141
+ body = read;
142
+ }
143
+ const abort = new AbortController();
144
+ // A long-lived MCP stream must not outlive the client that asked for it.
145
+ res.on("close", () => {
146
+ if (!res.writableFinished)
147
+ abort.abort();
148
+ });
149
+ let upstream;
150
+ try {
151
+ upstream = await fetch(target, {
152
+ method,
153
+ headers: buildUpstreamHeaders(req.headers, {
154
+ posture: "subscription",
155
+ upstreamHost: target.host,
156
+ defaultAnthropicVersion: false,
157
+ }),
158
+ ...(body === undefined ? {} : { body }),
159
+ signal: abort.signal,
160
+ redirect: "error",
161
+ });
162
+ }
163
+ catch (err) {
164
+ if (abort.signal.aborted)
165
+ return;
166
+ log.warn("copilot relay failed", { path: target.pathname, error: String(err).slice(0, 200) });
167
+ res.writeHead(502, { "content-type": "application/json" });
168
+ res.end(openaiError("api_error", "Fest: could not reach GitHub's Copilot API."));
169
+ return;
170
+ }
171
+ const stream = (upstream.headers.get("content-type") ?? "").includes("text/event-stream");
172
+ res.writeHead(upstream.status, buildDownstreamHeaders(upstream.headers, { stream, allow: () => true }));
173
+ if (upstream.body === null) {
174
+ res.end();
175
+ return;
176
+ }
177
+ if (stream)
178
+ res.flushHeaders();
179
+ const reader = upstream.body.getReader();
180
+ try {
181
+ for (;;) {
182
+ const { done, value } = await reader.read();
183
+ if (done || res.destroyed)
184
+ break;
185
+ res.write(value);
186
+ }
187
+ res.end();
188
+ }
189
+ catch (err) {
190
+ if (!abort.signal.aborted) {
191
+ log.warn("copilot relay stream failed", { path: target.pathname, error: String(err).slice(0, 200) });
192
+ }
193
+ if (!res.writableEnded)
194
+ res.end();
195
+ }
196
+ }
197
+ /** `/copilot/<plan>/…`: the turn metered, everything else relayed. */
198
+ export async function handleCopilot(req, res, opts) {
199
+ if (!admit(req, res, opts.ctx))
200
+ return;
201
+ const upstreamBaseUrl = copilotUpstream(opts.template, opts.plan);
202
+ const wire = copilotWire(req.method ?? "GET", pathnameOf(opts.rest));
203
+ if (wire !== null) {
204
+ await handleMessages(req, res, {
205
+ ...opts.ctx,
206
+ upstreamBaseUrl,
207
+ pathOverride: opts.rest,
208
+ wire,
209
+ // The Copilot API serves nothing but plan-billed traffic, as chatgpt.com
210
+ // does for Codex; the bearer's prefix says "GitHub", not "who pays".
211
+ subscriptionMount: true,
212
+ });
213
+ return;
214
+ }
215
+ await relay(req, res, joinUpstreamUrl(upstreamBaseUrl, opts.rest));
216
+ }
217
+ /**
218
+ * `/mcp/…` at the root: Copilot's built-in GitHub MCP server.
219
+ *
220
+ * No identity check, because there is no identity to check: Copilot builds
221
+ * this URL from the API URL's origin alone, so the `/t/<token>` segment never
222
+ * arrives. What keeps that safe is that the upstream is fixed — this forwards
223
+ * a caller's own credential to GitHub's MCP host and nowhere else — and that
224
+ * nothing is recorded. An operator who would rather not relay unattributed
225
+ * traffic sets `FEST_COPILOT_MCP_BASE_URL=off`, and `fest copilot` can switch
226
+ * the built-in server off on the client side.
227
+ */
228
+ export async function relayCopilotMcp(req, res, opts) {
229
+ await relay(req, res, joinUpstreamUrl(opts.upstreamBaseUrl, opts.path));
230
+ }
231
+ /** Refuse a path under the mount whose plan segment GitHub does not serve. */
232
+ export function refuseUnknownPlan(res) {
233
+ res.writeHead(404, { "content-type": "application/json", "x-should-retry": "false" });
234
+ res.end(openaiError("not_found_error", `Fest: unknown Copilot plan in the URL; expected /copilot/{${COPILOT_PLANS.join("|")}}/… — start Copilot with \`fest copilot\`.`));
235
+ }
236
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../server/pipeline/copilot.ts"],"names":[],"mappings":"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"}
@@ -93,9 +93,9 @@ export async function handleCodexModels(req, res, opts) {
93
93
  res.end(openaiError("api_error", "Fest: could not reach upstream for the model list."));
94
94
  }
95
95
  }
96
- /** Refuse a mount whose upstream an operator switched off. */
96
+ /** Refuse a mount whose upstream an operator switched off. Also used by `/copilot`. */
97
97
  export function refuseDisabled(res, envVar) {
98
98
  res.writeHead(501, { "content-type": "application/json", "x-should-retry": "false" });
99
- res.end(openaiError("invalid_request_error", `Fest: this gateway does not relay this Codex backend (${envVar} is set to "off").`));
99
+ res.end(openaiError("invalid_request_error", `Fest: this gateway does not relay this backend (${envVar} is set to "off").`));
100
100
  }
101
101
  //# sourceMappingURL=openai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../server/pipeline/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AAQxC,MAAM,CAAC,MAAM,YAAY,GAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC7F,MAAM,CAAC,MAAM,aAAa,GAAe;IACvC,SAAS,EAAE,8BAA8B;IACzC,MAAM,EAAE,2BAA2B;CACpC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY;IACpD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAoB,EACpB,GAAmB,EACnB,IAA+C;IAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YACnC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;YAC3B,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE;gBACzC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,MAAM,CAAC,IAAI;gBACzB,uBAAuB,EAAE,KAAK;aAC/B,CAAC;YACF,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvD,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM;SAC3F,CAAC,CAAC;QACH,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,oDAAoD,CAAC,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,GAAmB,EAAE,MAAc;IAChE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;IACtF,GAAG,CAAC,GAAG,CACL,WAAW,CACT,uBAAuB,EACvB,yDAAyD,MAAM,oBAAoB,CACpF,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../server/pipeline/openai.ts"],"names":[],"mappings":"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"}
@@ -148,7 +148,7 @@ preRead) {
148
148
  return;
149
149
  }
150
150
  const body = bodyOrTooLarge;
151
- const peek = peekRequest(body);
151
+ const peek = peekRequest(body, headerValue(req, "content-encoding"));
152
152
  // Key posture with a Fest token and nothing to pay with: the credential
153
153
  // position holds our OWN token, which we will not forward, and no route
154
154
  // claimed this model. Anthropic's 401 would be accurate but useless — it
@@ -209,14 +209,22 @@ preRead) {
209
209
  }
210
210
  const rateLimit = wire.parseRateLimit(upstream.headers);
211
211
  const upstreamRequestId = wire.upstreamRequestId(upstream.headers);
212
+ /**
213
+ * A stream is whatever the upstream says it is sending, as well as whatever
214
+ * the body asked for. The body alone is not enough: one Fest could not read
215
+ * (compressed, or a shape it does not know) reads as `stream: false`, and a
216
+ * real stream handled as JSON is buffered whole before the client sees a
217
+ * byte, then metered at zero because a stream is not a JSON body.
218
+ */
219
+ const stream = peek.stream || (upstream.headers.get("content-type") ?? "").toLowerCase().includes("text/event-stream");
212
220
  const downstream = buildDownstreamHeaders(upstream.headers, {
213
- stream: peek.stream,
221
+ stream,
214
222
  allow: wire.downstreamAllow,
215
223
  });
216
224
  const base = {
217
225
  requestedModel: peek.model,
218
226
  servedModel: peek.model,
219
- stream: peek.stream,
227
+ stream,
220
228
  httpStatus: upstream.status,
221
229
  bytesIn: body.byteLength,
222
230
  upstreamRequestId,
@@ -291,7 +299,7 @@ preRead) {
291
299
  return;
292
300
  }
293
301
  // ── non-streaming ──────────────────────────────────────────────────────────
294
- if (!peek.stream || !upstream.body) {
302
+ if (!stream || !upstream.body) {
295
303
  const text = await upstream.text();
296
304
  let usage = EMPTY_USAGE;
297
305
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"passthrough.js","sourceRoot":"","sources":["../../../server/pipeline/passthrough.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passthrough.js","sourceRoot":"","sources":["../../../server/pipeline/passthrough.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,17 @@
12
12
  * CLI in BYOK mode with `COPILOT_PROVIDER_TYPE=anthropic`.
13
13
  * - `openai-responses` — the Responses API. Codex on an API key (`/openai`)
14
14
  * and on a ChatGPT login (`/chatgpt`).
15
+ * - `openai-chat` — Chat Completions. Only Copilot's own API (`/copilot`)
16
+ * speaks it to Fest today.
17
+ *
18
+ * `/copilot` relays all three, on Copilot variants of each (see the bottom of
19
+ * this file).
15
20
  */
16
21
  import { USAGE_EVENT_TYPES } from "../../shared/types.js";
17
22
  import { anthropicError, openaiError, openaiSseErrorEvent, sseErrorEvent, } from "../http/errors.js";
18
23
  import { parseCodexRateLimit, parseRateLimit } from "../http/headers.js";
19
24
  import { createUsageAccumulator, usageFromJson, } from "../usage/accumulator.js";
25
+ import { CHAT_USAGE_EVENT_TYPES, chatUsageFromJson, createChatAccumulator } from "../usage/chat.js";
20
26
  import { createResponsesAccumulator, responsesUsageFromJson, RESPONSES_MAX_EVENT_CHARS, RESPONSES_USAGE_EVENT_TYPES, } from "../usage/responses.js";
21
27
  export const ANTHROPIC_WIRE = {
22
28
  id: "anthropic",
@@ -60,4 +66,54 @@ export const OPENAI_RESPONSES_WIRE = {
60
66
  parseRateLimit: parseCodexRateLimit,
61
67
  upstreamRequestId: (h) => h.get("x-request-id") ?? h.get("x-oai-request-id"),
62
68
  };
69
+ /**
70
+ * Copilot's own API, on the developer's Copilot login (`/copilot`).
71
+ *
72
+ * The usage events are the stock ones for each wire — captured from Copilot CLI
73
+ * 1.0.96 against api.individual.githubcopilot.com — so the parsing is shared.
74
+ * Two things differ from the Anthropic and OpenAI originals:
75
+ *
76
+ * - Every response header is relayed except credentials and hop-by-hop ones.
77
+ * Copilot reads its plan quota from `x-quota-snapshot-*`, and its MCP
78
+ * traffic depends on `mcp-session-id`; an allowlist would be a list of the
79
+ * headers someone remembered. The developer is the one the response is
80
+ * addressed to, and `set-cookie` stays dropped by `buildDownstreamHeaders`.
81
+ * - No `anthropic-version` is invented for a Claude request: Copilot sends what
82
+ * its API expects, and the relay adds nothing.
83
+ *
84
+ * Quota is not parsed into the 5h/7d snapshot. Copilot's windows are monthly
85
+ * (`x-quota-snapshot-chat: …&rem=98.5&rst=2026-11-01T00:00:00Z`), and filing
86
+ * them under five-hour and seven-day columns would be wrong on the dashboard.
87
+ */
88
+ const relayAll = () => true;
89
+ const copilotRequestId = (h) => h.get("x-github-request-id") ?? h.get("x-request-id");
90
+ export const COPILOT_ANTHROPIC_WIRE = {
91
+ ...ANTHROPIC_WIRE,
92
+ defaultAnthropicVersion: false,
93
+ downstreamAllow: relayAll,
94
+ parseRateLimit: () => null,
95
+ upstreamRequestId: copilotRequestId,
96
+ };
97
+ export const COPILOT_RESPONSES_WIRE = {
98
+ ...OPENAI_RESPONSES_WIRE,
99
+ downstreamAllow: relayAll,
100
+ parseRateLimit: () => null,
101
+ upstreamRequestId: copilotRequestId,
102
+ };
103
+ /** A Chat Completions stream reports a failure as a bare `error` chunk. */
104
+ function chatSseErrorFrame(type, message) {
105
+ return `data: ${JSON.stringify({ error: { type, message } })}\n\n`;
106
+ }
107
+ export const COPILOT_CHAT_WIRE = {
108
+ id: "openai-chat",
109
+ usageEventTypes: CHAT_USAGE_EVENT_TYPES,
110
+ createAccumulator: createChatAccumulator,
111
+ usageFromJson: chatUsageFromJson,
112
+ errorBody: openaiError,
113
+ sseErrorFrame: chatSseErrorFrame,
114
+ defaultAnthropicVersion: false,
115
+ downstreamAllow: relayAll,
116
+ parseRateLimit: () => null,
117
+ upstreamRequestId: copilotRequestId,
118
+ };
63
119
  //# sourceMappingURL=wire.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../server/pipeline/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,aAAa,GAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAoB/B,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,EAAE,EAAE,WAAW;IACf,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,sBAAsB;IACzC,aAAa;IACb,SAAS,EAAE,cAAc;IACzB,aAAa,EAAE,aAAa;IAC5B,uBAAuB,EAAE,IAAI;IAC7B,cAAc;IACd,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;CAC/E,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC1B,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,kBAAkB;QAC3B,IAAI,KAAK,eAAe,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,EAAE,EAAE,kBAAkB;IACtB,eAAe,EAAE,2BAA2B;IAC5C,aAAa,EAAE,yBAAyB;IACxC,iBAAiB,EAAE,0BAA0B;IAC7C,aAAa,EAAE,sBAAsB;IACrC,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,mBAAmB;IAClC,uBAAuB,EAAE,KAAK;IAC9B,eAAe,EAAE,UAAU;IAC3B,6EAA6E;IAC7E,2EAA2E;IAC3E,qBAAqB;IACrB,cAAc,EAAE,mBAAmB;IACnC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;CAC7E,CAAC"}
1
+ {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../server/pipeline/wire.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,8 @@ export function classifyCredential(header, rawValue) {
67
67
  kind = "FIREPASS_KEY";
68
68
  else if (token.startsWith("fest_"))
69
69
  kind = "FEST_IDENTITY_TOKEN";
70
+ else if (/^(?:gh[opsu]_|github_pat_)/.test(token))
71
+ kind = "GITHUB_TOKEN";
70
72
  // After every `sk-ant-` case, so an Anthropic key can never land here.
71
73
  else if (token.startsWith("sk-"))
72
74
  kind = "OPENAI_API_KEY";
@@ -74,7 +76,11 @@ export function classifyCredential(header, rawValue) {
74
76
  header,
75
77
  scheme: bearer ? "Bearer" : "raw",
76
78
  kind,
77
- prefix: token.slice(0, Math.min(PREFIX_CHARS, token.length)),
79
+ // A GitHub token's family prefix is short (`gho_`), so the usual 11
80
+ // characters would carry seven of its secret ones. Keep the family only.
81
+ prefix: kind === "GITHUB_TOKEN"
82
+ ? (/^(?:gh[opsu]_|github_pat_)/.exec(token)?.[0] ?? "")
83
+ : token.slice(0, Math.min(PREFIX_CHARS, token.length)),
78
84
  length: token.length,
79
85
  fingerprint: fingerprint(token),
80
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../../server/secret/fingerprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../../server/secret/fingerprint.ts"],"names":[],"mappings":"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"}