@usine/gateway 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.
- package/LICENSE +661 -21
- package/README.md +99 -11
- package/dist/admin/api.d.ts +6 -66
- package/dist/admin/api.d.ts.map +1 -1
- package/dist/admin/api.js +4 -4
- package/dist/admin/api.js.map +1 -1
- package/dist/admin/server.d.ts +1 -1
- package/dist/admin/server.d.ts.map +1 -1
- package/dist/admin/server.js +1 -1
- package/dist/admin/server.js.map +1 -1
- package/dist/attachment/attachment.d.ts +8 -1
- package/dist/attachment/attachment.d.ts.map +1 -1
- package/dist/attachment/attachment.js +14 -4
- package/dist/attachment/attachment.js.map +1 -1
- package/dist/attachment/store.d.ts +7 -0
- package/dist/attachment/store.d.ts.map +1 -1
- package/dist/attachment/store.js +46 -14
- package/dist/attachment/store.js.map +1 -1
- package/dist/caller/caller.d.ts +1 -1
- package/dist/caller/caller.d.ts.map +1 -1
- package/dist/caller/caller.js +8 -7
- package/dist/caller/caller.js.map +1 -1
- package/dist/chatgpt/auth-file.d.ts +47 -0
- package/dist/chatgpt/auth-file.d.ts.map +1 -0
- package/dist/chatgpt/auth-file.js +132 -0
- package/dist/chatgpt/auth-file.js.map +1 -0
- package/dist/chatgpt/logins.d.ts +50 -0
- package/dist/chatgpt/logins.d.ts.map +1 -0
- package/dist/chatgpt/logins.js +303 -0
- package/dist/chatgpt/logins.js.map +1 -0
- package/dist/gateway.d.ts +8 -4
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +8 -4
- package/dist/gateway.js.map +1 -1
- package/dist/github/github.d.ts +19 -8
- package/dist/github/github.d.ts.map +1 -1
- package/dist/github/github.js +45 -21
- package/dist/github/github.js.map +1 -1
- package/dist/github/rename.d.ts +30 -0
- package/dist/github/rename.d.ts.map +1 -0
- package/dist/github/rename.js +83 -0
- package/dist/github/rename.js.map +1 -0
- package/dist/llm/llm.d.ts +64 -15
- package/dist/llm/llm.d.ts.map +1 -1
- package/dist/llm/llm.js +89 -37
- package/dist/llm/llm.js.map +1 -1
- package/dist/node/egress-proxy.js +1 -1
- package/dist/node/egress-proxy.js.map +1 -1
- package/dist/node/environment.d.ts +15 -10
- package/dist/node/environment.d.ts.map +1 -1
- package/dist/node/environment.js +51 -24
- package/dist/node/environment.js.map +1 -1
- package/dist/node/node.d.ts +7 -8
- package/dist/node/node.d.ts.map +1 -1
- package/dist/node/node.js +22 -23
- package/dist/node/node.js.map +1 -1
- package/dist/node/reload.d.ts +2 -1
- package/dist/node/reload.d.ts.map +1 -1
- package/dist/node/reload.js +41 -13
- package/dist/node/reload.js.map +1 -1
- package/dist/proxy/forward.d.ts +2 -2
- package/dist/proxy/forward.d.ts.map +1 -1
- package/dist/proxy/forward.js +1 -1
- package/dist/proxy/forward.js.map +1 -1
- package/dist/proxy/proxy.d.ts +4 -3
- package/dist/proxy/proxy.d.ts.map +1 -1
- package/dist/proxy/proxy.js +132 -24
- package/dist/proxy/proxy.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forward.js","sourceRoot":"","sources":["../../src/proxy/forward.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,OAAO,EACP,UAAU,EACV,iBAAiB,EAEjB,kBAAkB,GACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"forward.js","sourceRoot":"","sources":["../../src/proxy/forward.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,OAAO,EACP,UAAU,EACV,iBAAiB,EAEjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,MAAM,UAAU,GAAG;IACjB,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,IAAI;IACJ,SAAS;IACT,mBAAmB;IACnB,SAAS;IACT,QAAQ;IACR,MAAM;CACE,CAAC;AAEX,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAwB,EAAmB,EAAE;IAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QAC9D,MAAM,EAAE,GAA0B,EAAE,CAAC,EAAE;QACvC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;KAC7E,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,EACpD,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,OAA4C,EAAW,EAAE,CACxE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE;QAC3D,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;QACnB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG;KAC1C,CAAC,CAAC;AAEL;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAA6B,EAC7B,OAA4C,EAC5C,QAAgB,EAChB,OAAwB,EACxB,EAAE;IACF,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,CACf,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7E,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAClC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAChE,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtB,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC3C,CAAC,CACH,CACF,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/proxy/proxy.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Context, Effect, Layer, Schema } from "effect";
|
|
2
|
-
import { HttpClient, HttpServerRequest, HttpServerResponse } from "effect/
|
|
2
|
+
import { HttpClient, HttpServerRequest, HttpServerResponse } from "effect/http";
|
|
3
3
|
import { Attachments } from "../attachment/store.ts";
|
|
4
4
|
import { CallerTokens } from "../caller/caller.ts";
|
|
5
|
+
import { ChatGptLogins } from "../chatgpt/logins.ts";
|
|
5
6
|
import { GatewaySettings, SettingsInForce } from "../settings.ts";
|
|
6
7
|
/**
|
|
7
8
|
* The reason the Gateway refused a request. Each refusal is logged at warning level with the
|
|
8
9
|
* reason, host, and Worker (if known), and returned in `x-usine-gateway-refusal`.
|
|
9
10
|
*/
|
|
10
|
-
export declare const RefusalReason: Schema.Literals<readonly ["unknown-host", "unsupported-path", "missing-caller-token", "invalid-caller-token", "stale-caller-token", "attachment-expired", "repository-mismatch", "provider-not-configured"]>;
|
|
11
|
+
export declare const RefusalReason: Schema.Literals<readonly ["unknown-host", "unsupported-path", "missing-caller-token", "invalid-caller-token", "stale-caller-token", "attachment-expired", "repository-mismatch", "provider-not-configured", "provider-login-unavailable"]>;
|
|
11
12
|
export type RefusalReason = typeof RefusalReason.Type;
|
|
12
13
|
/** The response header that contains the refusal reason. */
|
|
13
14
|
export declare const REFUSAL_HEADER = "x-usine-gateway-refusal";
|
|
@@ -22,7 +23,7 @@ declare const GatewayProxy_base: Context.ServiceClass<GatewayProxy, "@usine/gate
|
|
|
22
23
|
* hosts are refused.
|
|
23
24
|
*/
|
|
24
25
|
export declare class GatewayProxy extends GatewayProxy_base {
|
|
25
|
-
static readonly layer: Layer.Layer<GatewayProxy, never, Attachments | CallerTokens | GatewaySettings | HttpClient.HttpClient | SettingsInForce>;
|
|
26
|
+
static readonly layer: Layer.Layer<GatewayProxy, never, Attachments | CallerTokens | ChatGptLogins | GatewaySettings | HttpClient.HttpClient | SettingsInForce>;
|
|
26
27
|
}
|
|
27
28
|
export {};
|
|
28
29
|
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/proxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAyB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrF,OAAO,EAEL,UAAU,EAEV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/proxy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAyB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrF,OAAO,EAEL,UAAU,EAEV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAEL,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAgC,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASnF,OAAO,EAAE,eAAe,EAAgB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGhF;;;GAGG;AACH,eAAO,MAAM,aAAa,4OAUxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,4DAA4D;AAC5D,eAAO,MAAM,cAAc,4BAA4B,CAAC;;IA4EpD,wFAAwF;qBACvE,MAAM,CAAC,MAAM,CAC5B,kBAAkB,CAAC,kBAAkB,EACrC,KAAK,EACL,iBAAiB,CAAC,iBAAiB,CACpC;;AAdL;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,iBAUA;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,2IAiSnB;CACH"}
|
package/dist/proxy/proxy.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { canonicalRepositoryName } from "@usine/core/repository";
|
|
2
2
|
import { Context, Data, Effect, Layer, Match, Option, Result, Schema } from "effect";
|
|
3
|
-
import { Headers, HttpClient, HttpServerRequest, HttpServerResponse, } from "effect/
|
|
3
|
+
import { Headers, HttpClient, HttpServerRequest, HttpServerResponse, } from "effect/http";
|
|
4
4
|
import { Attachments } from "../attachment/store.js";
|
|
5
5
|
import { CallerTokens, presentedToken, withoutCallerCredentials, } from "../caller/caller.js";
|
|
6
|
-
import { GITHUB_HOSTS, githubRoute, withGitHubCredential, } from "../github/github.js";
|
|
7
|
-
import {
|
|
6
|
+
import { absoluteUrl, GITHUB_HOSTS, gatewayLocation, githubRoute, withGitHubCredential, } from "../github/github.js";
|
|
7
|
+
import { confirmRename, PERMANENT_REDIRECTS, redirectedName } from "../github/rename.js";
|
|
8
|
+
import { ChatGptLogins } from "../chatgpt/logins.js";
|
|
9
|
+
import { llmRoute, configuredProvider, llmTarget, withChatGptAccess, withStaticCredential, } from "../llm/llm.js";
|
|
8
10
|
import { GatewaySettings, gatewayHosts, SettingsInForce } from "../settings.js";
|
|
9
11
|
import { endToEndHeaders, forwardRequest } from "./forward.js";
|
|
10
12
|
/**
|
|
@@ -20,6 +22,7 @@ export const RefusalReason = Schema.Literals([
|
|
|
20
22
|
"attachment-expired",
|
|
21
23
|
"repository-mismatch",
|
|
22
24
|
"provider-not-configured",
|
|
25
|
+
"provider-login-unavailable",
|
|
23
26
|
]);
|
|
24
27
|
/** The response header that contains the refusal reason. */
|
|
25
28
|
export const REFUSAL_HEADER = "x-usine-gateway-refusal";
|
|
@@ -32,14 +35,26 @@ const REFUSAL_STATUS = {
|
|
|
32
35
|
"attachment-expired": 403,
|
|
33
36
|
"repository-mismatch": 403,
|
|
34
37
|
"provider-not-configured": 503,
|
|
38
|
+
"provider-login-unavailable": 503,
|
|
35
39
|
};
|
|
36
|
-
/** A refusal, with the caller's claims once its token is verified. */
|
|
40
|
+
/** A refusal, with the caller's claims once its token is verified, and the response status. */
|
|
37
41
|
class Refused extends Data.TaggedError("Refused") {
|
|
38
42
|
}
|
|
39
43
|
/** Returns a refusal for a request whose caller token isn't verified yet. */
|
|
40
|
-
const refused = (reason, message) => new Refused({ reason, message, caller: Option.none() });
|
|
44
|
+
const refused = (reason, message) => new Refused({ reason, message, caller: Option.none(), status: REFUSAL_STATUS[reason] });
|
|
41
45
|
/** Returns a refusal for a verified caller. */
|
|
42
|
-
const refusedCaller = (claims, reason, message) => new Refused({ reason, message, caller: Option.some(claims) });
|
|
46
|
+
const refusedCaller = (claims, reason, message) => new Refused({ reason, message, caller: Option.some(claims), status: REFUSAL_STATUS[reason] });
|
|
47
|
+
/**
|
|
48
|
+
* Returns the refusal for a ChatGPT login without a usable access token: 503 while a later
|
|
49
|
+
* refresh can succeed, which Codex retries, and 401 once the token endpoint has rejected the
|
|
50
|
+
* refresh token, which Codex doesn't.
|
|
51
|
+
*/
|
|
52
|
+
const loginUnavailable = (claims, error) => new Refused({
|
|
53
|
+
reason: "provider-login-unavailable",
|
|
54
|
+
message: error.message,
|
|
55
|
+
caller: Option.some(claims),
|
|
56
|
+
status: error.reason === "refresh-rejected" ? 401 : 503,
|
|
57
|
+
});
|
|
43
58
|
/** Returns the target from an origin-form request and its `Host`, or from an absolute-form URL. */
|
|
44
59
|
const requestTarget = (request) => {
|
|
45
60
|
const parse = (base) => Result.getSuccess(Result.try(() => new URL(request.url, base)));
|
|
@@ -61,6 +76,7 @@ export class GatewayProxy extends Context.Service()("@usine/gateway/GatewayProxy
|
|
|
61
76
|
const inForce = yield* SettingsInForce;
|
|
62
77
|
const attachments = yield* Attachments;
|
|
63
78
|
const callers = yield* CallerTokens;
|
|
79
|
+
const logins = yield* ChatGptLogins;
|
|
64
80
|
const client = yield* HttpClient.HttpClient;
|
|
65
81
|
const hosts = gatewayHosts(settings.domain);
|
|
66
82
|
const authenticate = Effect.fn("GatewayProxy.authenticate")(function* (request) {
|
|
@@ -78,33 +94,83 @@ export class GatewayProxy extends Context.Service()("@usine/gateway/GatewayProxy
|
|
|
78
94
|
const stale = refusedCaller(claims, "stale-caller-token", `The caller token belongs to attachment ${claims.attachment} of ${claims.repository} on worker "${claims.worker}", which is no longer attached.`);
|
|
79
95
|
const lookup = yield* attachments.find(claims.attachment);
|
|
80
96
|
return yield* Match.valueTags(lookup, {
|
|
81
|
-
LiveAttachment: (
|
|
82
|
-
canonicalRepositoryName(attachment.repository) ===
|
|
97
|
+
LiveAttachment: (live) => live.attachment.worker === claims.worker &&
|
|
98
|
+
canonicalRepositoryName(live.attachment.repository) ===
|
|
83
99
|
canonicalRepositoryName(claims.repository)
|
|
84
|
-
? Effect.succeed({ claims,
|
|
100
|
+
? Effect.succeed({ claims, live })
|
|
85
101
|
: Effect.fail(stale),
|
|
86
102
|
ExpiredAttachment: () => Effect.fail(refusedCaller(claims, "attachment-expired", `The attachment of ${claims.repository} to worker "${claims.worker}" has expired.`)),
|
|
87
103
|
MissingAttachment: () => Effect.fail(stale),
|
|
88
104
|
});
|
|
89
105
|
});
|
|
106
|
+
/**
|
|
107
|
+
* Teaches the attachment the new name in GitHub's permanent redirect of a request for the
|
|
108
|
+
* repository itself, once GitHub's API confirms it with the attachment's credential. GitHub
|
|
109
|
+
* answers a renamed or transferred repository's former name that way; a redirect of anything
|
|
110
|
+
* else can point at another repository without a rename.
|
|
111
|
+
*/
|
|
112
|
+
const learnFromRedirect = Effect.fn("GatewayProxy.learnFromRedirect")(function* (live, requested, location) {
|
|
113
|
+
const { attachment } = live;
|
|
114
|
+
yield* Effect.annotateCurrentSpan({
|
|
115
|
+
attachment: attachment.id,
|
|
116
|
+
repository: attachment.repository,
|
|
117
|
+
});
|
|
118
|
+
const fields = {
|
|
119
|
+
attachment: attachment.id,
|
|
120
|
+
worker: attachment.worker,
|
|
121
|
+
repository: attachment.repository,
|
|
122
|
+
};
|
|
123
|
+
const newName = Option.flatMap(absoluteUrl(requested.upstream), (upstream) => redirectedName(settings.github, upstream, location));
|
|
124
|
+
if (Option.isNone(newName))
|
|
125
|
+
return yield* Effect.logDebug("Learned no name from a redirect that isn't a rename", {
|
|
126
|
+
...fields,
|
|
127
|
+
path: location.pathname,
|
|
128
|
+
});
|
|
129
|
+
const renamed = { ...fields, newName: newName.value };
|
|
130
|
+
if (live.serves(newName.value))
|
|
131
|
+
return yield* Effect.logDebug("The attachment already serves the redirect's name", renamed);
|
|
132
|
+
yield* confirmRename(client, settings.github, attachment, newName.value).pipe(Effect.andThen(attachments.learnNewName(attachment.id, newName.value)), Effect.catchTag("RenameUnconfirmed", ({ reason, detail }) => Effect.logWarning("GitHub's API didn't confirm the new name of an attached repository", {
|
|
133
|
+
...renamed,
|
|
134
|
+
reason,
|
|
135
|
+
detail,
|
|
136
|
+
})));
|
|
137
|
+
});
|
|
138
|
+
/** Points a `Location` at github.com or api.github.com to `git.<domain>`, and logs the rewrite. */
|
|
139
|
+
const throughGateway = Effect.fn("GatewayProxy.throughGateway")(function* (answer, live, requested) {
|
|
140
|
+
const { attachment } = live;
|
|
141
|
+
const from = Option.flatMap(Headers.get(answer.headers, "location"), absoluteUrl);
|
|
142
|
+
const to = Option.flatMap(from, (url) => gatewayLocation(settings.github, hosts.git, url));
|
|
143
|
+
if (Option.isNone(from) || Option.isNone(to))
|
|
144
|
+
return answer;
|
|
145
|
+
yield* Effect.logInfo("Rewrote a GitHub Location header to the gateway", {
|
|
146
|
+
worker: attachment.worker,
|
|
147
|
+
repository: attachment.repository,
|
|
148
|
+
status: answer.status,
|
|
149
|
+
from: from.value.host,
|
|
150
|
+
path: to.value.pathname,
|
|
151
|
+
});
|
|
152
|
+
if (PERMANENT_REDIRECTS.has(answer.status))
|
|
153
|
+
yield* learnFromRedirect(live, requested, from.value);
|
|
154
|
+
return HttpServerResponse.setHeader(answer, "location", to.value.href);
|
|
155
|
+
});
|
|
90
156
|
const github = Effect.fn("GatewayProxy.github")(function* (request, target, host) {
|
|
91
|
-
const { claims,
|
|
157
|
+
const { claims, live } = yield* authenticate(request);
|
|
158
|
+
const { attachment } = live;
|
|
92
159
|
const route = githubRoute(settings.github, host, target.pathname, target.search);
|
|
93
160
|
if (Option.isNone(route))
|
|
94
|
-
return yield* refusedCaller(claims, "unsupported-path", `The gateway serves Git smart HTTP and the GitHub API, not ${target.pathname}.`);
|
|
161
|
+
return yield* refusedCaller(claims, "unsupported-path", `The gateway serves Git smart HTTP, release downloads, and the GitHub API, not ${target.pathname}.`);
|
|
95
162
|
const named = route.value.repository;
|
|
96
|
-
if (Option.isSome(named) &&
|
|
97
|
-
canonicalRepositoryName(named.value) !== canonicalRepositoryName(claims.repository))
|
|
163
|
+
if (Option.isSome(named) && !live.serves(named.value))
|
|
98
164
|
return yield* refusedCaller(claims, "repository-mismatch", `The caller token was issued for ${claims.repository}, not ${named.value}.`);
|
|
99
|
-
const headers = withGitHubCredential(route.value, attachment.credential, withoutCallerCredentials(endToEndHeaders(request.headers)));
|
|
100
|
-
const response = yield* forwardRequest(client, request, route.value.upstream, headers);
|
|
101
|
-
yield* forwarded(
|
|
102
|
-
|
|
103
|
-
|
|
165
|
+
const headers = withGitHubCredential(route.value.protocol, attachment.credential, withoutCallerCredentials(endToEndHeaders(request.headers)));
|
|
166
|
+
const response = yield* throughGateway(yield* forwardRequest(client, request, route.value.upstream, headers), live, route.value);
|
|
167
|
+
yield* forwarded(route.value.protocol === "release"
|
|
168
|
+
? "Served a GitHub release download"
|
|
169
|
+
: "Forwarded a GitHub request", request, target, attachment, response, { protocol: route.value.protocol, ...redirectTarget(response) });
|
|
104
170
|
return response;
|
|
105
171
|
});
|
|
106
172
|
const llm = Effect.fn("GatewayProxy.llm")(function* (request, target) {
|
|
107
|
-
const { claims, attachment } = yield* authenticate(request);
|
|
173
|
+
const { claims, live: { attachment }, } = yield* authenticate(request);
|
|
108
174
|
const destination = llmTarget(target.pathname);
|
|
109
175
|
if (Option.isNone(destination))
|
|
110
176
|
return yield* refusedCaller(claims, "unsupported-path", `The gateway serves /anthropic and /openai on ${hosts.llm}, not ${target.pathname}.`);
|
|
@@ -112,14 +178,51 @@ export class GatewayProxy extends Context.Service()("@usine/gateway/GatewayProxy
|
|
|
112
178
|
const provider = configuredProvider(providers, destination.value.provider);
|
|
113
179
|
if (Option.isNone(provider))
|
|
114
180
|
return yield* refusedCaller(claims, "provider-not-configured", `The gateway has no credential for ${destination.value.provider}.`);
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
181
|
+
const path = llmRoute(provider.value, destination.value.rest);
|
|
182
|
+
if (Option.isNone(path))
|
|
183
|
+
return yield* refusedCaller(claims, "unsupported-path", `The gateway serves only the routes Claude Code and Codex call on ${hosts.llm}, such as /anthropic/v1/messages and /openai/v1/responses, not ${target.pathname}.`);
|
|
184
|
+
const incoming = withoutCallerCredentials(endToEndHeaders(request.headers));
|
|
185
|
+
const { credential } = provider.value;
|
|
186
|
+
const outgoing = credential._tag === "ChatGptLogin"
|
|
187
|
+
? yield* chatGptRequest(claims, credential, incoming)
|
|
188
|
+
: {
|
|
189
|
+
headers: withStaticCredential(credential, incoming),
|
|
190
|
+
answered: () => Effect.void,
|
|
191
|
+
};
|
|
192
|
+
const upstream = `${provider.value.upstream}${path.value}${target.search}`;
|
|
193
|
+
const response = yield* forwardRequest(client, request, upstream, outgoing.headers);
|
|
194
|
+
yield* outgoing.answered(response.status);
|
|
118
195
|
yield* forwarded("Forwarded an LLM request", request, target, attachment, response, {
|
|
119
196
|
provider: destination.value.provider,
|
|
197
|
+
credential: credential._tag,
|
|
120
198
|
});
|
|
121
199
|
return response;
|
|
122
200
|
});
|
|
201
|
+
/**
|
|
202
|
+
* Returns the headers for a request with a ChatGPT login, and records a 401 answer so the
|
|
203
|
+
* next request refreshes the access token first.
|
|
204
|
+
*/
|
|
205
|
+
const chatGptRequest = Effect.fn("GatewayProxy.chatGptRequest")(function* (claims, login, incoming) {
|
|
206
|
+
const access = yield* logins
|
|
207
|
+
.access(login)
|
|
208
|
+
.pipe(Effect.mapError((error) => loginUnavailable(claims, error)));
|
|
209
|
+
return {
|
|
210
|
+
headers: withChatGptAccess(access, incoming),
|
|
211
|
+
answered: (status) => status === 401 ? logins.refused(login, access) : Effect.void,
|
|
212
|
+
};
|
|
213
|
+
});
|
|
214
|
+
/**
|
|
215
|
+
* Refuses a host the reverse proxy doesn't serve. gh sends every request to the gateway,
|
|
216
|
+
* including a followed redirect to a GitHub download host, so for an allowlisted host the
|
|
217
|
+
* refusal says how to download from it with curl.
|
|
218
|
+
*/
|
|
219
|
+
const unknownHost = Effect.fn("GatewayProxy.unknownHost")(function* (target) {
|
|
220
|
+
const { egress } = yield* inForce.current;
|
|
221
|
+
const served = `The gateway serves ${hosts.git} and ${hosts.llm}, not ${target.host}`;
|
|
222
|
+
return yield* refused("unknown-host", egress.decide(target.host, 443)._tag === "EgressPermitted"
|
|
223
|
+
? `${served}, which the forward proxy serves. gh sends every request to the gateway, so it can't follow GitHub's redirect to ${target.host}. Download with curl -fL -u ":$GH_TOKEN" from ${hosts.git} instead, such as http://${hosts.git}/OWNER/REPO/releases/download/TAG/FILE, or http://${hosts.git}/api/v3/repos/OWNER/REPO/tarball/REF for an archive.`
|
|
224
|
+
: `${served}. Send requests for other hosts through the forward proxy.`);
|
|
225
|
+
});
|
|
123
226
|
const route = (request, target) => {
|
|
124
227
|
if (target.host === hosts.git)
|
|
125
228
|
return github(request, target, "gateway");
|
|
@@ -128,7 +231,7 @@ export class GatewayProxy extends Context.Service()("@usine/gateway/GatewayProxy
|
|
|
128
231
|
return github(request, target, githubHost);
|
|
129
232
|
if (target.host === hosts.llm)
|
|
130
233
|
return llm(request, target);
|
|
131
|
-
return
|
|
234
|
+
return unknownHost(target);
|
|
132
235
|
};
|
|
133
236
|
const handle = Effect.gen(function* () {
|
|
134
237
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
@@ -151,7 +254,12 @@ export class GatewayProxy extends Context.Service()("@usine/gateway/GatewayProxy
|
|
|
151
254
|
return { handle };
|
|
152
255
|
}));
|
|
153
256
|
}
|
|
154
|
-
const refusalResponse = (error) => HttpServerResponse.jsonUnsafe({ message: `usine gateway: ${error.message}`, reason: error.reason }, { status:
|
|
257
|
+
const refusalResponse = (error) => HttpServerResponse.jsonUnsafe({ message: `usine gateway: ${error.message}`, reason: error.reason }, { status: error.status, headers: { [REFUSAL_HEADER]: error.reason } });
|
|
258
|
+
/** Returns the host a response redirects to, without the `Location` path and query, which can hold a signature. */
|
|
259
|
+
const redirectTarget = (response) => Option.match(Option.flatMap(Headers.get(response.headers, "location"), absoluteUrl), {
|
|
260
|
+
onNone: () => ({}),
|
|
261
|
+
onSome: (url) => ({ target: url.host }),
|
|
262
|
+
});
|
|
155
263
|
const clientAddress = (request) => Option.getOrElse(request.remoteAddress, () => "unknown");
|
|
156
264
|
const logRefusal = (request, target, error) => {
|
|
157
265
|
const caller = Option.match(error.caller, {
|
package/dist/proxy/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/proxy/proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/proxy/proxy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usine/gateway",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "The usine gateway: a credential-injecting proxy for GitHub and LLM providers, and an egress allowlist, in front of Worker VMs.",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git+https://github.com/basaltbytes/usine.git",
|
|
@@ -35,19 +35,19 @@
|
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@effect/platform-node": "4.0.
|
|
39
|
-
"@effect/platform-node-shared": "4.0.
|
|
40
|
-
"@usine/core": "0.
|
|
38
|
+
"@effect/platform-node": "4.0.6",
|
|
39
|
+
"@effect/platform-node-shared": "4.0.6",
|
|
40
|
+
"@usine/core": "0.5.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@effect/vitest": "4.0.
|
|
44
|
-
"effect": "4.0.
|
|
43
|
+
"@effect/vitest": "4.0.6",
|
|
44
|
+
"effect": "4.0.6",
|
|
45
45
|
"typescript": "7.0.2",
|
|
46
|
-
"vitest": "
|
|
46
|
+
"vitest": "5.0.5",
|
|
47
47
|
"@usine/tsconfig": "0.0.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"effect": "4.0.
|
|
50
|
+
"effect": "4.0.6"
|
|
51
51
|
},
|
|
52
52
|
"engines": {
|
|
53
53
|
"node": ">=22"
|