@cat-factory/server 0.144.5 → 0.145.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/dist/agents/modelProviderResolver.d.ts +1 -1
- package/dist/agents/modelProviderResolver.d.ts.map +1 -1
- package/dist/agents/modelProviderResolver.js +6 -0
- package/dist/agents/modelProviderResolver.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -0
- package/dist/app.js.map +1 -1
- package/dist/config/types.d.ts +7 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/github/FetchGitHubClient.d.ts.map +1 -1
- package/dist/github/FetchGitHubClient.js +1 -0
- package/dist/github/FetchGitHubClient.js.map +1 -1
- package/dist/github/GitHubIdentityResolver.d.ts.map +1 -1
- package/dist/github/GitHubIdentityResolver.js +2 -1
- package/dist/github/GitHubIdentityResolver.js.map +1 -1
- package/dist/github/GitHubPullRequestReviewProvider.d.ts.map +1 -1
- package/dist/github/GitHubPullRequestReviewProvider.js +42 -15
- package/dist/github/GitHubPullRequestReviewProvider.js.map +1 -1
- package/dist/github/ProviderRoutingGitHubClient.d.ts +76 -0
- package/dist/github/ProviderRoutingGitHubClient.d.ts.map +1 -0
- package/dist/github/ProviderRoutingGitHubClient.js +159 -0
- package/dist/github/ProviderRoutingGitHubClient.js.map +1 -0
- package/dist/http/authGate.d.ts.map +1 -1
- package/dist/http/authGate.js +14 -1
- package/dist/http/authGate.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/github/GitHubWebhookController.d.ts.map +1 -1
- package/dist/modules/github/GitHubWebhookController.js +2 -1
- package/dist/modules/github/GitHubWebhookController.js.map +1 -1
- package/dist/modules/gitlab/GitLabController.d.ts +13 -0
- package/dist/modules/gitlab/GitLabController.d.ts.map +1 -0
- package/dist/modules/gitlab/GitLabController.js +49 -0
- package/dist/modules/gitlab/GitLabController.js.map +1 -0
- package/dist/modules/llmProxy/LlmProxyController.d.ts.map +1 -1
- package/dist/modules/llmProxy/LlmProxyController.js +12 -1
- package/dist/modules/llmProxy/LlmProxyController.js.map +1 -1
- package/dist/modules/vcs/VcsWebhookController.d.ts.map +1 -1
- package/dist/modules/vcs/VcsWebhookController.js +2 -1
- package/dist/modules/vcs/VcsWebhookController.js.map +1 -1
- package/dist/webhooks/bodyLimit.d.ts +10 -0
- package/dist/webhooks/bodyLimit.d.ts.map +1 -0
- package/dist/webhooks/bodyLimit.js +22 -0
- package/dist/webhooks/bodyLimit.js.map +1 -0
- package/package.json +8 -8
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { CommitFilesInput, CommitFilesResult, GitHubBranch, GitHubCheckRun, GitHubClient, GitHubCodeSearchHit, GitHubCommit, GitHubInstallationRepository, GitHubIssue, GitHubIssueDetail, GitHubIssueSearchHit, GitHubPullRequest, GitHubRepo, GitHubRepoRef, InstallationMeta, InstallationSummary, ListOptions, MergePullRequestInput, OpenedPullRequest, OpenPullRequestInput, Paged, RepoContentEntry, RepoEntry, RepoFileContent } from '@cat-factory/kernel';
|
|
2
|
+
export interface ProviderRoutingGitHubClientDependencies {
|
|
3
|
+
/** Resolves an installation id → its stored `provider` (memoised; see below). */
|
|
4
|
+
installations: GitHubInstallationRepository;
|
|
5
|
+
/** The App-backed client for `github` installations (absent in a GitLab-only deployment). */
|
|
6
|
+
github?: GitHubClient;
|
|
7
|
+
/** The GitLab-adapted client for `gitlab` installations (absent when GitLab connect is off). */
|
|
8
|
+
gitlab?: GitHubClient;
|
|
9
|
+
}
|
|
10
|
+
export declare class ProviderRoutingGitHubClient implements GitHubClient {
|
|
11
|
+
private readonly deps;
|
|
12
|
+
private readonly providerById;
|
|
13
|
+
readonly listReposForToken?: (token: string) => Promise<Paged<GitHubRepo>>;
|
|
14
|
+
readonly getRepoForToken?: (token: string, repoGithubId: number) => Promise<GitHubRepo | null>;
|
|
15
|
+
constructor(deps: ProviderRoutingGitHubClientDependencies);
|
|
16
|
+
private requireGithub;
|
|
17
|
+
private providerOf;
|
|
18
|
+
private route;
|
|
19
|
+
getInstallation(installationId: number): Promise<InstallationMeta>;
|
|
20
|
+
listInstallations(): Promise<InstallationSummary[]>;
|
|
21
|
+
listInstallationRepos(installationId: number): Promise<Paged<GitHubRepo>>;
|
|
22
|
+
searchInstallationRepos(installationId: number, query: string, opts?: {
|
|
23
|
+
owner?: string;
|
|
24
|
+
ownerType?: 'Organization' | 'User';
|
|
25
|
+
limit?: number;
|
|
26
|
+
}): Promise<GitHubRepo[]>;
|
|
27
|
+
getRepo(installationId: number, ref: GitHubRepoRef): Promise<GitHubRepo>;
|
|
28
|
+
getRepoById(installationId: number, repoGithubId: number): Promise<GitHubRepo | null>;
|
|
29
|
+
canPush(installationId: number, ref: GitHubRepoRef): Promise<boolean>;
|
|
30
|
+
listBranches(installationId: number, ref: GitHubRepoRef, etag?: string): Promise<Paged<GitHubBranch>>;
|
|
31
|
+
branchHeadSha(installationId: number, ref: GitHubRepoRef, branch: string): Promise<string | null>;
|
|
32
|
+
listRootEntries(installationId: number, ref: GitHubRepoRef): Promise<RepoEntry[]>;
|
|
33
|
+
listDirectory(installationId: number, ref: GitHubRepoRef, path: string, gitRef?: string): Promise<RepoContentEntry[]>;
|
|
34
|
+
listTree(installationId: number, ref: GitHubRepoRef, gitRef?: string): Promise<RepoContentEntry[]>;
|
|
35
|
+
getFileContent(installationId: number, ref: GitHubRepoRef, path: string, gitRef?: string): Promise<RepoFileContent | null>;
|
|
36
|
+
latestCommitSha(installationId: number, ref: GitHubRepoRef, path: string, gitRef?: string): Promise<string | null>;
|
|
37
|
+
listPullRequests(installationId: number, ref: GitHubRepoRef, opts?: ListOptions): Promise<Paged<GitHubPullRequest>>;
|
|
38
|
+
listIssues(installationId: number, ref: GitHubRepoRef, opts?: ListOptions): Promise<Paged<GitHubIssue>>;
|
|
39
|
+
getIssue(installationId: number, ref: GitHubRepoRef, issueNumber: number): Promise<GitHubIssueDetail>;
|
|
40
|
+
searchIssues(installationId: number, query: string, limit?: number, order?: 'created-asc', page?: number): Promise<GitHubIssueSearchHit[]>;
|
|
41
|
+
searchCode(installationId: number, query: string, limit?: number): Promise<GitHubCodeSearchHit[]>;
|
|
42
|
+
listCommits(installationId: number, ref: GitHubRepoRef, opts?: ListOptions & {
|
|
43
|
+
sha?: string;
|
|
44
|
+
}): Promise<Paged<GitHubCommit>>;
|
|
45
|
+
listCheckRuns(installationId: number, ref: GitHubRepoRef, sha: string): Promise<Paged<GitHubCheckRun>>;
|
|
46
|
+
createBranch(installationId: number, ref: GitHubRepoRef, name: string, fromSha: string): Promise<void>;
|
|
47
|
+
commitFiles(installationId: number, ref: GitHubRepoRef, input: CommitFilesInput): Promise<CommitFilesResult>;
|
|
48
|
+
createIssue(installationId: number, ref: GitHubRepoRef, input: {
|
|
49
|
+
title: string;
|
|
50
|
+
body: string;
|
|
51
|
+
}): Promise<{
|
|
52
|
+
number: number;
|
|
53
|
+
url: string;
|
|
54
|
+
}>;
|
|
55
|
+
closeIssue(installationId: number, ref: GitHubRepoRef, number: number): Promise<void>;
|
|
56
|
+
openPullRequest(installationId: number, ref: GitHubRepoRef, input: OpenPullRequestInput): Promise<OpenedPullRequest>;
|
|
57
|
+
updatePullRequest(installationId: number, ref: GitHubRepoRef, number: number, patch: {
|
|
58
|
+
title?: string;
|
|
59
|
+
body?: string;
|
|
60
|
+
state?: 'open' | 'closed';
|
|
61
|
+
base?: string;
|
|
62
|
+
}): Promise<GitHubPullRequest>;
|
|
63
|
+
getPullRequestMergeability(installationId: number, ref: GitHubRepoRef, number: number): Promise<{
|
|
64
|
+
mergeable: boolean | null;
|
|
65
|
+
mergeableState: string;
|
|
66
|
+
headSha: string | null;
|
|
67
|
+
}>;
|
|
68
|
+
mergePullRequest(installationId: number, ref: GitHubRepoRef, number: number, input?: MergePullRequestInput): Promise<void>;
|
|
69
|
+
deleteBranch(installationId: number, ref: GitHubRepoRef, branch: string): Promise<void>;
|
|
70
|
+
comment(installationId: number, ref: GitHubRepoRef, issueOrPrNumber: number, body: string): Promise<void>;
|
|
71
|
+
mergeBranch(installationId: number, ref: GitHubRepoRef, input: {
|
|
72
|
+
base: string;
|
|
73
|
+
head: string;
|
|
74
|
+
}): Promise<'merged' | 'noop' | 'conflict'>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=ProviderRoutingGitHubClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderRoutingGitHubClient.d.ts","sourceRoot":"","sources":["../../src/github/ProviderRoutingGitHubClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
export class ProviderRoutingGitHubClient {
|
|
2
|
+
deps;
|
|
3
|
+
// An installation's provider is IMMUTABLE for the connection's lifetime: a workspace that
|
|
4
|
+
// reconnects under a different provider gets a different installation id (a real GitHub id vs
|
|
5
|
+
// the GitLab synthetic id), and a GitLab reconnect keeps the same synthetic id + provider. So
|
|
6
|
+
// this is a memo of a fixed identity fact, NOT a cache of mutable domain state — it can never
|
|
7
|
+
// serve a stale value the way the banned homebrew TTL caches can. It exists to keep the
|
|
8
|
+
// per-repo sync loops (which issue many installation-keyed calls for one installation) from
|
|
9
|
+
// re-reading the installation row on every call — the N+1 the router would otherwise add.
|
|
10
|
+
providerById = new Map();
|
|
11
|
+
// `listReposForToken` / `getRepoForToken` are optional on the port and only exposed when the
|
|
12
|
+
// GitHub client implements them (the PAT-based fetch adapter does; the GitLab adapter omits
|
|
13
|
+
// them). They are keyed by a GitHub user PAT, not an installation, so they always route to
|
|
14
|
+
// GitHub — a GitLab workspace has no GitHub user token, so `GitHubSyncService` never reaches
|
|
15
|
+
// them for a `gitlab` row.
|
|
16
|
+
listReposForToken;
|
|
17
|
+
getRepoForToken;
|
|
18
|
+
constructor(deps) {
|
|
19
|
+
this.deps = deps;
|
|
20
|
+
const github = deps.github;
|
|
21
|
+
if (github?.listReposForToken) {
|
|
22
|
+
this.listReposForToken = (token) => github.listReposForToken(token);
|
|
23
|
+
}
|
|
24
|
+
if (github?.getRepoForToken) {
|
|
25
|
+
this.getRepoForToken = (token, repoGithubId) => github.getRepoForToken(token, repoGithubId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
requireGithub() {
|
|
29
|
+
if (!this.deps.github)
|
|
30
|
+
throw new Error('No GitHub App client is configured');
|
|
31
|
+
return this.deps.github;
|
|
32
|
+
}
|
|
33
|
+
async providerOf(installationId) {
|
|
34
|
+
const memo = this.providerById.get(installationId);
|
|
35
|
+
if (memo)
|
|
36
|
+
return memo;
|
|
37
|
+
const row = await this.deps.installations.getByInstallationId(installationId);
|
|
38
|
+
if (!row) {
|
|
39
|
+
// Unknown installation → treat as GitHub (the legacy/backstop default the projection column
|
|
40
|
+
// also uses), so a call for an id we can't resolve routes to the App client rather than
|
|
41
|
+
// throwing. Do NOT memoise this fallback: the row may simply not exist YET (a connection
|
|
42
|
+
// created after this client was built — the router is a long-lived singleton on Node), and
|
|
43
|
+
// caching 'github' for it would pin the wrong provider for the process lifetime. Only a
|
|
44
|
+
// resolved row's provider — an immutable identity — is safe to memoise.
|
|
45
|
+
return 'github';
|
|
46
|
+
}
|
|
47
|
+
this.providerById.set(installationId, row.provider);
|
|
48
|
+
return row.provider;
|
|
49
|
+
}
|
|
50
|
+
async route(installationId) {
|
|
51
|
+
const provider = await this.providerOf(installationId);
|
|
52
|
+
const client = provider === 'gitlab' ? this.deps.gitlab : this.deps.github;
|
|
53
|
+
if (!client) {
|
|
54
|
+
throw new Error(`No ${provider} client is configured for installation ${installationId}`);
|
|
55
|
+
}
|
|
56
|
+
return client;
|
|
57
|
+
}
|
|
58
|
+
// ---- installation-level -------------------------------------------------
|
|
59
|
+
async getInstallation(installationId) {
|
|
60
|
+
return (await this.route(installationId)).getInstallation(installationId);
|
|
61
|
+
}
|
|
62
|
+
listInstallations() {
|
|
63
|
+
// App-only discovery (the connect picker); GitLab has no installation listing.
|
|
64
|
+
return this.requireGithub().listInstallations();
|
|
65
|
+
}
|
|
66
|
+
async listInstallationRepos(installationId) {
|
|
67
|
+
return (await this.route(installationId)).listInstallationRepos(installationId);
|
|
68
|
+
}
|
|
69
|
+
async searchInstallationRepos(installationId, query, opts) {
|
|
70
|
+
return (await this.route(installationId)).searchInstallationRepos(installationId, query, opts);
|
|
71
|
+
}
|
|
72
|
+
// ---- reads --------------------------------------------------------------
|
|
73
|
+
async getRepo(installationId, ref) {
|
|
74
|
+
return (await this.route(installationId)).getRepo(installationId, ref);
|
|
75
|
+
}
|
|
76
|
+
async getRepoById(installationId, repoGithubId) {
|
|
77
|
+
return (await this.route(installationId)).getRepoById(installationId, repoGithubId);
|
|
78
|
+
}
|
|
79
|
+
async canPush(installationId, ref) {
|
|
80
|
+
return (await this.route(installationId)).canPush(installationId, ref);
|
|
81
|
+
}
|
|
82
|
+
async listBranches(installationId, ref, etag) {
|
|
83
|
+
return (await this.route(installationId)).listBranches(installationId, ref, etag);
|
|
84
|
+
}
|
|
85
|
+
async branchHeadSha(installationId, ref, branch) {
|
|
86
|
+
return (await this.route(installationId)).branchHeadSha(installationId, ref, branch);
|
|
87
|
+
}
|
|
88
|
+
async listRootEntries(installationId, ref) {
|
|
89
|
+
return (await this.route(installationId)).listRootEntries(installationId, ref);
|
|
90
|
+
}
|
|
91
|
+
async listDirectory(installationId, ref, path, gitRef) {
|
|
92
|
+
return (await this.route(installationId)).listDirectory(installationId, ref, path, gitRef);
|
|
93
|
+
}
|
|
94
|
+
async listTree(installationId, ref, gitRef) {
|
|
95
|
+
return (await this.route(installationId)).listTree(installationId, ref, gitRef);
|
|
96
|
+
}
|
|
97
|
+
async getFileContent(installationId, ref, path, gitRef) {
|
|
98
|
+
return (await this.route(installationId)).getFileContent(installationId, ref, path, gitRef);
|
|
99
|
+
}
|
|
100
|
+
async latestCommitSha(installationId, ref, path, gitRef) {
|
|
101
|
+
return (await this.route(installationId)).latestCommitSha(installationId, ref, path, gitRef);
|
|
102
|
+
}
|
|
103
|
+
async listPullRequests(installationId, ref, opts) {
|
|
104
|
+
return (await this.route(installationId)).listPullRequests(installationId, ref, opts);
|
|
105
|
+
}
|
|
106
|
+
async listIssues(installationId, ref, opts) {
|
|
107
|
+
return (await this.route(installationId)).listIssues(installationId, ref, opts);
|
|
108
|
+
}
|
|
109
|
+
async getIssue(installationId, ref, issueNumber) {
|
|
110
|
+
return (await this.route(installationId)).getIssue(installationId, ref, issueNumber);
|
|
111
|
+
}
|
|
112
|
+
async searchIssues(installationId, query, limit, order, page) {
|
|
113
|
+
return (await this.route(installationId)).searchIssues(installationId, query, limit, order, page);
|
|
114
|
+
}
|
|
115
|
+
async searchCode(installationId, query, limit) {
|
|
116
|
+
return (await this.route(installationId)).searchCode(installationId, query, limit);
|
|
117
|
+
}
|
|
118
|
+
async listCommits(installationId, ref, opts) {
|
|
119
|
+
return (await this.route(installationId)).listCommits(installationId, ref, opts);
|
|
120
|
+
}
|
|
121
|
+
async listCheckRuns(installationId, ref, sha) {
|
|
122
|
+
return (await this.route(installationId)).listCheckRuns(installationId, ref, sha);
|
|
123
|
+
}
|
|
124
|
+
// ---- writes -------------------------------------------------------------
|
|
125
|
+
async createBranch(installationId, ref, name, fromSha) {
|
|
126
|
+
return (await this.route(installationId)).createBranch(installationId, ref, name, fromSha);
|
|
127
|
+
}
|
|
128
|
+
async commitFiles(installationId, ref, input) {
|
|
129
|
+
return (await this.route(installationId)).commitFiles(installationId, ref, input);
|
|
130
|
+
}
|
|
131
|
+
async createIssue(installationId, ref, input) {
|
|
132
|
+
return (await this.route(installationId)).createIssue(installationId, ref, input);
|
|
133
|
+
}
|
|
134
|
+
async closeIssue(installationId, ref, number) {
|
|
135
|
+
return (await this.route(installationId)).closeIssue(installationId, ref, number);
|
|
136
|
+
}
|
|
137
|
+
async openPullRequest(installationId, ref, input) {
|
|
138
|
+
return (await this.route(installationId)).openPullRequest(installationId, ref, input);
|
|
139
|
+
}
|
|
140
|
+
async updatePullRequest(installationId, ref, number, patch) {
|
|
141
|
+
return (await this.route(installationId)).updatePullRequest(installationId, ref, number, patch);
|
|
142
|
+
}
|
|
143
|
+
async getPullRequestMergeability(installationId, ref, number) {
|
|
144
|
+
return (await this.route(installationId)).getPullRequestMergeability(installationId, ref, number);
|
|
145
|
+
}
|
|
146
|
+
async mergePullRequest(installationId, ref, number, input) {
|
|
147
|
+
return (await this.route(installationId)).mergePullRequest(installationId, ref, number, input);
|
|
148
|
+
}
|
|
149
|
+
async deleteBranch(installationId, ref, branch) {
|
|
150
|
+
return (await this.route(installationId)).deleteBranch(installationId, ref, branch);
|
|
151
|
+
}
|
|
152
|
+
async comment(installationId, ref, issueOrPrNumber, body) {
|
|
153
|
+
return (await this.route(installationId)).comment(installationId, ref, issueOrPrNumber, body);
|
|
154
|
+
}
|
|
155
|
+
async mergeBranch(installationId, ref, input) {
|
|
156
|
+
return (await this.route(installationId)).mergeBranch(installationId, ref, input);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=ProviderRoutingGitHubClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderRoutingGitHubClient.js","sourceRoot":"","sources":["../../src/github/ProviderRoutingGitHubClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authGate.d.ts","sourceRoot":"","sources":["../../src/http/authGate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"authGate.d.ts","sourceRoot":"","sources":["../../src/http/authGate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AA0DtC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAkElE"}
|
package/dist/http/authGate.js
CHANGED
|
@@ -15,12 +15,25 @@ import { loadWorkspaceAccess } from './workspaceAccess.js';
|
|
|
15
15
|
// /v1 — container LLM proxy; authenticated by a model-locked session token
|
|
16
16
|
// (ContainerSessionService), not the workspace session.
|
|
17
17
|
// /github — GitHub webhooks + setup callback; verified by HMAC signature.
|
|
18
|
+
// /vcs — provider-neutral VCS webhooks (GitLab first); each provider verifies its own
|
|
19
|
+
// signature/token over the raw body inside the controller, exactly like /github.
|
|
20
|
+
// Without this the session gate 401s the provider's delivery before that check
|
|
21
|
+
// (fails closed, but the receiver is then dead on any auth-enabled deployment).
|
|
18
22
|
// /slack — Slack OAuth callback; the `state` is HMAC-signed + short-lived.
|
|
19
23
|
// /internal — mothership-mode machine API; authenticated by an audience-pinned machine
|
|
20
24
|
// token verified inside the controller, not by the session gate.
|
|
21
25
|
// /api — the public external API; authenticated by an in-controller public-API key
|
|
22
26
|
// (`Authorization: Bearer cf_live_…`), not the session gate.
|
|
23
|
-
const PUBLIC_PREFIXES = [
|
|
27
|
+
const PUBLIC_PREFIXES = [
|
|
28
|
+
'/health',
|
|
29
|
+
'/auth',
|
|
30
|
+
'/v1',
|
|
31
|
+
'/github',
|
|
32
|
+
'/vcs',
|
|
33
|
+
'/slack',
|
|
34
|
+
'/internal',
|
|
35
|
+
'/api',
|
|
36
|
+
];
|
|
24
37
|
/** The exact WebSocket-upgrade shape that self-authenticates via `?ticket=`. */
|
|
25
38
|
const WS_EVENTS_PATH = /^\/workspaces\/[^/]+\/events$/;
|
|
26
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authGate.js","sourceRoot":"","sources":["../../src/http/authGate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,mFAAmF;AACnF,oFAAoF;AACpF,sFAAsF;AACtF,kFAAkF;AAClF,sFAAsF;AACtF,8EAA8E;AAC9E,8DAA8D;AAE9D,oFAAoF;AACpF,sBAAsB;AACtB,0CAA0C;AAC1C,8EAA8E;AAC9E,mFAAmF;AACnF,sEAAsE;AACtE,8EAA8E;AAC9E,gFAAgF;AAChF,yFAAyF;AACzF,+EAA+E;AAC/E,0FAA0F;AAC1F,2EAA2E;AAC3E,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"authGate.js","sourceRoot":"","sources":["../../src/http/authGate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export { GitHubAppRegistry, type GitHubAppRegistryDependencies, type RegisteredA
|
|
|
49
49
|
export { PatPreferringAppRegistry } from './github/PatPreferringAppRegistry.js';
|
|
50
50
|
export { runWithInitiator, currentInitiator } from './github/runInitiatorContext.js';
|
|
51
51
|
export { FetchGitHubClient, GitHubApiError, type FetchGitHubClientDependencies, } from './github/FetchGitHubClient.js';
|
|
52
|
+
export { ProviderRoutingGitHubClient, type ProviderRoutingGitHubClientDependencies, } from './github/ProviderRoutingGitHubClient.js';
|
|
52
53
|
export { GitHubIdentityResolver, type GitHubIdentityResolverOptions, } from './github/GitHubIdentityResolver.js';
|
|
53
54
|
export { FetchGitHubProvisioningClient, type FetchGitHubProvisioningClientDependencies, } from './github/FetchGitHubProvisioningClient.js';
|
|
54
55
|
export { WebCryptoWebhookVerifier } from './github/WebCryptoWebhookVerifier.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -67,6 +67,7 @@ export { runWithInitiator, currentInitiator } from './github/runInitiatorContext
|
|
|
67
67
|
// real). The client authenticates via the App registry or any AppTokenSource (e.g. a
|
|
68
68
|
// static PAT in local mode).
|
|
69
69
|
export { FetchGitHubClient, GitHubApiError, } from './github/FetchGitHubClient.js';
|
|
70
|
+
export { ProviderRoutingGitHubClient, } from './github/ProviderRoutingGitHubClient.js';
|
|
70
71
|
export { GitHubIdentityResolver, } from './github/GitHubIdentityResolver.js';
|
|
71
72
|
// The privileged provisioning slice (ADR 0005): runtime-neutral so every facade can
|
|
72
73
|
// back the create-repo endpoint when a privileged App is configured.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubWebhookController.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"GitHubWebhookController.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,CA+EtD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import { StateSigner } from '../../github/state.js';
|
|
3
|
+
import { webhookBodyLimit } from '../../webhooks/bodyLimit.js';
|
|
3
4
|
import { logWebhookSignatureRejection } from '../../webhooks/signatureLog.js';
|
|
4
5
|
/**
|
|
5
6
|
* Public GitHub-facing endpoints (NOT under /workspaces, since GitHub calls
|
|
@@ -12,7 +13,7 @@ import { logWebhookSignatureRejection } from '../../webhooks/signatureLog.js';
|
|
|
12
13
|
*/
|
|
13
14
|
export function githubWebhookController() {
|
|
14
15
|
const app = new Hono();
|
|
15
|
-
app.post('/webhooks', async (c) => {
|
|
16
|
+
app.post('/webhooks', webhookBodyLimit(), async (c) => {
|
|
16
17
|
const container = c.get('container');
|
|
17
18
|
const github = container.github;
|
|
18
19
|
if (!github)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubWebhookController.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAG7E;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"GitHubWebhookController.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubWebhookController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAG7E;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAE9B,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAE1F,+CAA+C;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAA;QACrC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAA;QAC7D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAC9D,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,gFAAgF;YAChF,4BAA4B,CAAC;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,KAAK,EAAE;gBAC9D,gBAAgB,EAAE,CAAC,CAAC,SAAS;aAC9B,CAAC,CAAA;YACF,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACvF,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;QACtD,IAAI,OAAgB,CAAA;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACrF,CAAC;QAED,gFAAgF;QAChF,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,CAAC;aACnB,GAAG,CAAC,WAAW,CAAC;aAChB,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM;YAAE,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACnE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,yEAAyE;IACzE,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAE1F,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,yBAAyB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC3F,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACrE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;QAC/D,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,WAAW,GACf,KAAK,EAAE,WAAW,IAAI,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC9F,CAAC;QAED,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QAErE,6EAA6E;QAC7E,2EAA2E;QAC3E,+CAA+C;QAE/C,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Hono } from 'hono';
|
|
2
|
+
import type { AppEnv } from '../../http/env.js';
|
|
3
|
+
/**
|
|
4
|
+
* Workspace-scoped GitLab connect endpoints: the per-workspace PAT connect flow, the analogue of
|
|
5
|
+
* the GitHub App connect surface for a provider that authenticates with a pasted token. Connecting
|
|
6
|
+
* validates + seals the PAT and writes the shared `github_installations`/`github_repos` projection
|
|
7
|
+
* rows (stamped `provider: 'gitlab'`), so once connected the repo browse / link / sync surface is
|
|
8
|
+
* the SAME GitHub-shaped store the SPA already drives. Mounted under `/workspaces/:workspaceId`;
|
|
9
|
+
* 503 when the facade hasn't wired the connect service (GitLab connect disabled). Guarded by
|
|
10
|
+
* `integrations.manage`, exactly like the GitHub controller.
|
|
11
|
+
*/
|
|
12
|
+
export declare function gitlabController(): Hono<AppEnv>;
|
|
13
|
+
//# sourceMappingURL=GitLabController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitLabController.d.ts","sourceRoot":"","sources":["../../../src/modules/gitlab/GitLabController.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAY/C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,CA6B/C"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { connectGitLabContract, disconnectGitLabContract, getGitLabConnectionContract, } from '@cat-factory/contracts';
|
|
2
|
+
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
|
+
import { Hono } from 'hono';
|
|
4
|
+
import { requireWorkspacePermission } from '../../http/workspaceAccess.js';
|
|
5
|
+
import { param } from '../../http/params.js';
|
|
6
|
+
/** Resolve the per-workspace VCS PAT connect service, or null when GitLab connect is unconfigured. */
|
|
7
|
+
function requireVcsConnect(c) {
|
|
8
|
+
return c.get('container').vcsConnectionService ?? null;
|
|
9
|
+
}
|
|
10
|
+
const unavailable = (c) => c.json({ error: { code: 'unavailable', message: 'GitLab integration is not configured' } }, 503);
|
|
11
|
+
/**
|
|
12
|
+
* Workspace-scoped GitLab connect endpoints: the per-workspace PAT connect flow, the analogue of
|
|
13
|
+
* the GitHub App connect surface for a provider that authenticates with a pasted token. Connecting
|
|
14
|
+
* validates + seals the PAT and writes the shared `github_installations`/`github_repos` projection
|
|
15
|
+
* rows (stamped `provider: 'gitlab'`), so once connected the repo browse / link / sync surface is
|
|
16
|
+
* the SAME GitHub-shaped store the SPA already drives. Mounted under `/workspaces/:workspaceId`;
|
|
17
|
+
* 503 when the facade hasn't wired the connect service (GitLab connect disabled). Guarded by
|
|
18
|
+
* `integrations.manage`, exactly like the GitHub controller.
|
|
19
|
+
*/
|
|
20
|
+
export function gitlabController() {
|
|
21
|
+
const app = new Hono();
|
|
22
|
+
app.use('*', requireWorkspacePermission('integrations.manage'));
|
|
23
|
+
buildHonoRoute(app, getGitLabConnectionContract, async (c) => {
|
|
24
|
+
const vcs = requireVcsConnect(c);
|
|
25
|
+
if (!vcs)
|
|
26
|
+
return unavailable(c);
|
|
27
|
+
const connection = await vcs.getConnection(param(c, 'workspaceId'));
|
|
28
|
+
return c.json({ connection }, 200);
|
|
29
|
+
});
|
|
30
|
+
// Connect by pasting a PAT: validate it (a bad token surfaces as a typed ValidationError → 4xx),
|
|
31
|
+
// seal it, and persist the workspace's GitLab connection. Idempotent per workspace.
|
|
32
|
+
buildHonoRoute(app, connectGitLabContract, async (c) => {
|
|
33
|
+
const vcs = requireVcsConnect(c);
|
|
34
|
+
if (!vcs)
|
|
35
|
+
return unavailable(c);
|
|
36
|
+
const { pat } = c.req.valid('json');
|
|
37
|
+
const connection = await vcs.connect(param(c, 'workspaceId'), pat);
|
|
38
|
+
return c.json(connection, 201);
|
|
39
|
+
});
|
|
40
|
+
buildHonoRoute(app, disconnectGitLabContract, async (c) => {
|
|
41
|
+
const vcs = requireVcsConnect(c);
|
|
42
|
+
if (!vcs)
|
|
43
|
+
return unavailable(c);
|
|
44
|
+
await vcs.disconnect(param(c, 'workspaceId'));
|
|
45
|
+
return c.body(null, 204);
|
|
46
|
+
});
|
|
47
|
+
return app;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=GitLabController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitLabController.js","sourceRoot":"","sources":["../../../src/modules/gitlab/GitLabController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE5C,sGAAsG;AACtG,SAAS,iBAAiB,CAAmB,CAAa;IACxD,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,oBAAoB,IAAI,IAAI,CAAA;AACxD,CAAC;AAED,MAAM,WAAW,GAAG,CAAmB,CAAa,EAAE,EAAE,CACtD,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,sCAAsC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AAElG;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAU,CAAA;IAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAE/D,cAAc,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3D,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,iGAAiG;IACjG,oFAAoF;IACpF,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAA;QAClE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmProxyController.d.ts","sourceRoot":"","sources":["../../../src/modules/llmProxy/LlmProxyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"LlmProxyController.d.ts","sourceRoot":"","sources":["../../../src/modules/llmProxy/LlmProxyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAA;AAWzC,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAoDhE;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAQT;AAqVD,wBAAgB,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,CA8PjD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
+
import { bodyLimit } from 'hono/body-limit';
|
|
2
3
|
import { cachedTokensFromUsage, promptCacheParams } from '@cat-factory/agents';
|
|
3
4
|
import { isLocalRunner } from '@cat-factory/contracts';
|
|
4
5
|
import { fetchLocalRunner } from '@cat-factory/integrations';
|
|
@@ -340,9 +341,19 @@ async function relayUpstream(c, ctx, target) {
|
|
|
340
341
|
});
|
|
341
342
|
return c.json(json);
|
|
342
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Ceiling on the buffered proxy request body. A completion payload can carry long prompts and
|
|
346
|
+
* inline (base64) images, so this is generous — but bounded, so a session-authenticated caller
|
|
347
|
+
* can't pin memory up to the platform request limit (SEC-9). Consistent with the artifact
|
|
348
|
+
* upload routes' explicit `bodyLimit`.
|
|
349
|
+
*/
|
|
350
|
+
const MAX_PROXY_BODY_BYTES = 32 * 1024 * 1024;
|
|
343
351
|
export function llmProxyController() {
|
|
344
352
|
const app = new Hono();
|
|
345
|
-
app.post('/v1/chat/completions',
|
|
353
|
+
app.post('/v1/chat/completions', bodyLimit({
|
|
354
|
+
maxSize: MAX_PROXY_BODY_BYTES,
|
|
355
|
+
onError: (c) => c.json({ error: { message: 'Request body exceeds size limit' } }, 413),
|
|
356
|
+
}), async (c) => {
|
|
346
357
|
// Proxy-entry clock: everything from here to the upstream dispatch (and after the
|
|
347
358
|
// response) is transport overhead; the slice spent waiting on the model is the
|
|
348
359
|
// actual execution. The two are split in the observability sink.
|