@cat-factory/server 0.112.2 → 0.112.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/problems.d.ts +16 -0
- package/dist/config/problems.d.ts.map +1 -1
- package/dist/config/problems.js +42 -1
- package/dist/config/problems.js.map +1 -1
- package/dist/github/GitHubAppAuth.d.ts +13 -0
- package/dist/github/GitHubAppAuth.d.ts.map +1 -1
- package/dist/github/GitHubAppAuth.js +47 -2
- package/dist/github/GitHubAppAuth.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -85,6 +85,11 @@ export declare const ENV_HELP: {
|
|
|
85
85
|
remedy: string;
|
|
86
86
|
docsUrl: string;
|
|
87
87
|
};
|
|
88
|
+
GITHUB_APP_PRIVATE_KEY: {
|
|
89
|
+
summary: string;
|
|
90
|
+
remedy: string;
|
|
91
|
+
docsUrl: string;
|
|
92
|
+
};
|
|
88
93
|
};
|
|
89
94
|
/**
|
|
90
95
|
* Read a mandatory env var, throwing a {@link ConfigValidationError} with a human-readable
|
|
@@ -107,4 +112,15 @@ export declare function requireEnv(env: Record<string, string | undefined>, key:
|
|
|
107
112
|
* seal credentials at rest under it), so a missing value is a boot failure too.
|
|
108
113
|
*/
|
|
109
114
|
export declare function requireEncryptionKey(value: string | undefined): string;
|
|
115
|
+
/**
|
|
116
|
+
* Validate a GitHub App private key at config load and return the trimmed value: present, a PKCS#8
|
|
117
|
+
* PEM (not the PKCS#1 key GitHub hands out), with a base64 body that decodes. Without this the
|
|
118
|
+
* defect surfaces lazily at the FIRST installation-token mint — deep in a pipeline, long after
|
|
119
|
+
* boot — as an opaque `crypto.subtle.importKey` rejection or an `atob` `InvalidCharacterError`.
|
|
120
|
+
* Shared across the facades (the key backs the App JWT the same way on Node and the Worker) so a
|
|
121
|
+
* malformed key reads identically. Callers pass the value only when the App is otherwise
|
|
122
|
+
* configured (an unset key simply disables the App); `varKey` names the specific var so the
|
|
123
|
+
* default and privileged App keys report against their own names.
|
|
124
|
+
*/
|
|
125
|
+
export declare function requireGitHubAppPrivateKey(value: string | undefined, varKey?: string): string;
|
|
110
126
|
//# sourceMappingURL=problems.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"problems.d.ts","sourceRoot":"","sources":["../../src/config/problems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAI3D,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;IAElC,YAAY,QAAQ,EAAE,aAAa,EAAE,EAIpC;CACF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAElF;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,qBAAqB,CAE3E;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAUtE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ;;QAEjB,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;CAEsE,CAAA;AAEjF;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAaR;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAyBtE"}
|
|
1
|
+
{"version":3,"file":"problems.d.ts","sourceRoot":"","sources":["../../src/config/problems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAI3D,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;IAElC,YAAY,QAAQ,EAAE,aAAa,EAAE,EAIpC;CACF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAElF;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,qBAAqB,CAE3E;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAUtE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ;;QAEjB,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;;QAGP,OAAO;QAEP,MAAM;QAEN,OAAO;;CAEsE,CAAA;AAEjF;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAaR;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAyBtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,SAA2B,GAChC,MAAM,CA8BR"}
|
package/dist/config/problems.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { base64urlToBytes } from '../crypto/encoding.js';
|
|
1
|
+
import { base64urlToBytes, pkcs8PemToDer } from '../crypto/encoding.js';
|
|
2
2
|
import { DOCS, ENV_VARS_ANCHORS } from './docs.js';
|
|
3
3
|
/**
|
|
4
4
|
* The system encryption key must decode to at least this many bytes — a full AES-256 key. Matches
|
|
@@ -102,6 +102,11 @@ export const ENV_HELP = {
|
|
|
102
102
|
remedy: 'Set HARNESS_SHARED_SECRET to a random string of at least 16 characters. Generate one with `pnpm secrets` (deploy/local) or `openssl rand -hex 32`. It must stay STABLE across restarts — a fresh value each boot fails auth against containers still running from before the restart, so re-attach breaks and in-flight runs flap.',
|
|
103
103
|
docsUrl: DOCS.envVars(ENV_VARS_ANCHORS.authentication),
|
|
104
104
|
},
|
|
105
|
+
GITHUB_APP_PRIVATE_KEY: {
|
|
106
|
+
summary: "The GitHub App private key the service signs its App JWT with, to mint the short-lived installation tokens the harness clones, pushes, and opens PRs with. Must be a PKCS#8 PEM — Web Crypto (used on both Node and the Worker) cannot import GitHub's default PKCS#1 key.",
|
|
107
|
+
remedy: 'Set GITHUB_APP_PRIVATE_KEY to the App private key in PKCS#8 PEM form (`-----BEGIN PRIVATE KEY-----`, including the BEGIN/END lines). GitHub issues a PKCS#1 key (`-----BEGIN RSA PRIVATE KEY-----`); convert it once with `openssl pkcs8 -topk8 -nocrypt -in key.pem -out key.pk8.pem` and use the result.',
|
|
108
|
+
docsUrl: DOCS.githubOperations(),
|
|
109
|
+
},
|
|
105
110
|
};
|
|
106
111
|
/**
|
|
107
112
|
* Read a mandatory env var, throwing a {@link ConfigValidationError} with a human-readable
|
|
@@ -159,4 +164,40 @@ export function requireEncryptionKey(value) {
|
|
|
159
164
|
}
|
|
160
165
|
return key;
|
|
161
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Validate a GitHub App private key at config load and return the trimmed value: present, a PKCS#8
|
|
169
|
+
* PEM (not the PKCS#1 key GitHub hands out), with a base64 body that decodes. Without this the
|
|
170
|
+
* defect surfaces lazily at the FIRST installation-token mint — deep in a pipeline, long after
|
|
171
|
+
* boot — as an opaque `crypto.subtle.importKey` rejection or an `atob` `InvalidCharacterError`.
|
|
172
|
+
* Shared across the facades (the key backs the App JWT the same way on Node and the Worker) so a
|
|
173
|
+
* malformed key reads identically. Callers pass the value only when the App is otherwise
|
|
174
|
+
* configured (an unset key simply disables the App); `varKey` names the specific var so the
|
|
175
|
+
* default and privileged App keys report against their own names.
|
|
176
|
+
*/
|
|
177
|
+
export function requireGitHubAppPrivateKey(value, varKey = 'GITHUB_APP_PRIVATE_KEY') {
|
|
178
|
+
const help = ENV_HELP.GITHUB_APP_PRIVATE_KEY;
|
|
179
|
+
const problem = (remedy) => configProblem({ key: varKey, summary: help.summary, remedy, docsUrl: help.docsUrl });
|
|
180
|
+
const pem = value?.trim();
|
|
181
|
+
if (!pem)
|
|
182
|
+
throw problem(help.remedy);
|
|
183
|
+
if (/BEGIN RSA PRIVATE KEY/.test(pem)) {
|
|
184
|
+
throw problem(`${varKey} is a PKCS#1 key (\`-----BEGIN RSA PRIVATE KEY-----\`), which Web Crypto cannot ` +
|
|
185
|
+
'import. Convert it once with `openssl pkcs8 -topk8 -nocrypt -in key.pem -out key.pk8.pem` ' +
|
|
186
|
+
'and use the resulting `-----BEGIN PRIVATE KEY-----` file.');
|
|
187
|
+
}
|
|
188
|
+
if (!/-----BEGIN PRIVATE KEY-----/.test(pem) || !/-----END PRIVATE KEY-----/.test(pem)) {
|
|
189
|
+
throw problem(`${varKey} is not a PKCS#8 PEM — the \`-----BEGIN PRIVATE KEY-----\`/\`-----END PRIVATE KEY-----\` ` +
|
|
190
|
+
`boundary lines are missing. ${help.remedy}`);
|
|
191
|
+
}
|
|
192
|
+
try {
|
|
193
|
+
// Structurally decode the body: catches a truncated or mangled base64 payload that would
|
|
194
|
+
// otherwise reach `crypto.subtle.importKey` unvalidated and reject opaquely at first mint.
|
|
195
|
+
pkcs8PemToDer(pem);
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
throw problem(`${varKey} has PKCS#8 boundary lines but its body is not valid base64 — the key was likely ` +
|
|
199
|
+
`truncated or mangled on the way into the environment (e.g. newlines lost). ${help.remedy}`);
|
|
200
|
+
}
|
|
201
|
+
return pem;
|
|
202
|
+
}
|
|
162
203
|
//# sourceMappingURL=problems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"problems.js","sourceRoot":"","sources":["../../src/config/problems.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"problems.js","sourceRoot":"","sources":["../../src/config/problems.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import type { Clock, GitHubInstallationRepository, InstallationPermissions } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* Turn a failed installation-token mint into an actionable message (error-message coverage C3).
|
|
4
|
+
* The App JWT → `/access_tokens` call is not a `VcsClient` request, so it doesn't route through
|
|
5
|
+
* `describeVcsApiError`; this is the local equivalent for that one endpoint.
|
|
6
|
+
*
|
|
7
|
+
* IMPORTANT: the first line is UNCHANGED — `Failed to mint installation token for <id> (HTTP
|
|
8
|
+
* <status>)` — because the stale-installation reconcile classifies purely by matching this phrase
|
|
9
|
+
* (`isInstallationTokenGoneError` regex `/Failed to mint installation token .*\(HTTP (404|410)\)/`
|
|
10
|
+
* and `isInstallationGoneError` `/\(HTTP (401|404|410)\)/` in `reconcileStaleRepos.ts`). We only
|
|
11
|
+
* APPEND a cause + remedy so elaborating the text never changes classification. Exported for
|
|
12
|
+
* unit testing, mirroring `explainMigrationFailure`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function explainInstallationTokenMintFailure(installationId: number, status: number): string;
|
|
2
15
|
export interface GitHubAppAuthDependencies {
|
|
3
16
|
appId: string;
|
|
4
17
|
/** App private key in PKCS#8 PEM (`-----BEGIN PRIVATE KEY-----`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubAppAuth.d.ts","sourceRoot":"","sources":["../../src/github/GitHubAppAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"GitHubAppAuth.d.ts","sourceRoot":"","sources":["../../src/github/GitHubAppAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAoB5B;;;;;;;;;;;GAWG;AACH,wBAAgB,mCAAmC,CACjD,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,MAAM,CA0BR;AAeD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,4BAA4B,CAAA;IACpD,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AASD,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,UAAU,CAAC,CAAoB;IAEvC,YAA6B,IAAI,EAAE,yBAAyB,EAAI;IAEhE,yDAAyD;IACnD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAa9B;IAED;;;;;;;OAOG;IACG,iBAAiB,CACrB,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,OAAO,CAAC,MAAM,CAAC,CAEjB;IAED;;;;;;OAMG;IACG,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAEtF;YAEa,WAAW;YAaX,qBAAqB;IA+BnC,OAAO,CAAC,SAAS;CA0BlB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GITHUB_SETTINGS_URLS, VCS_DOC_URLS } from '@cat-factory/kernel';
|
|
1
2
|
import { base64url, pkcs8PemToDer } from '../crypto/encoding.js';
|
|
2
3
|
// GitHub App authentication, implemented entirely on Web Crypto (`crypto.subtle`)
|
|
3
4
|
// so it runs in a plain Workers isolate without Node `crypto` — and identically
|
|
@@ -13,6 +14,39 @@ import { base64url, pkcs8PemToDer } from '../crypto/encoding.js';
|
|
|
13
14
|
const TOKEN_SKEW_MS = 5 * 60 * 1000;
|
|
14
15
|
const USER_AGENT = 'cat-factory';
|
|
15
16
|
const API_VERSION = '2022-11-28';
|
|
17
|
+
/**
|
|
18
|
+
* Turn a failed installation-token mint into an actionable message (error-message coverage C3).
|
|
19
|
+
* The App JWT → `/access_tokens` call is not a `VcsClient` request, so it doesn't route through
|
|
20
|
+
* `describeVcsApiError`; this is the local equivalent for that one endpoint.
|
|
21
|
+
*
|
|
22
|
+
* IMPORTANT: the first line is UNCHANGED — `Failed to mint installation token for <id> (HTTP
|
|
23
|
+
* <status>)` — because the stale-installation reconcile classifies purely by matching this phrase
|
|
24
|
+
* (`isInstallationTokenGoneError` regex `/Failed to mint installation token .*\(HTTP (404|410)\)/`
|
|
25
|
+
* and `isInstallationGoneError` `/\(HTTP (401|404|410)\)/` in `reconcileStaleRepos.ts`). We only
|
|
26
|
+
* APPEND a cause + remedy so elaborating the text never changes classification. Exported for
|
|
27
|
+
* unit testing, mirroring `explainMigrationFailure`.
|
|
28
|
+
*/
|
|
29
|
+
export function explainInstallationTokenMintFailure(installationId, status) {
|
|
30
|
+
const base = `Failed to mint installation token for ${installationId} (HTTP ${status})`;
|
|
31
|
+
if (status === 401) {
|
|
32
|
+
return (`${base}\nCause: the App failed to authenticate — GITHUB_APP_PRIVATE_KEY does not match this ` +
|
|
33
|
+
`App, or the key was rotated in the App settings. Fix: set GITHUB_APP_PRIVATE_KEY to the ` +
|
|
34
|
+
`App's current private key (PKCS#8 PEM). Manage the App at ${GITHUB_SETTINGS_URLS.installations}. ` +
|
|
35
|
+
`See ${VCS_DOC_URLS.githubOperations}.`);
|
|
36
|
+
}
|
|
37
|
+
if (status === 404 || status === 410) {
|
|
38
|
+
return (`${base}\nCause: installation ${installationId} no longer exists — the GitHub App was ` +
|
|
39
|
+
`uninstalled from the org/repo, or this workspace points at a stale installation. Fix: ` +
|
|
40
|
+
`reinstall the App and reconnect GitHub for the workspace (Settings → GitHub). Manage ` +
|
|
41
|
+
`installations at ${GITHUB_SETTINGS_URLS.installations}. See ${VCS_DOC_URLS.githubIntegration}.`);
|
|
42
|
+
}
|
|
43
|
+
if (status === 403) {
|
|
44
|
+
return (`${base}\nCause: the App JWT was rejected or rate-limited for this installation. Fix: verify ` +
|
|
45
|
+
`GITHUB_APP_ID + GITHUB_APP_PRIVATE_KEY are current and the server clock is accurate, then ` +
|
|
46
|
+
`retry shortly. See ${VCS_DOC_URLS.githubOperations}.`);
|
|
47
|
+
}
|
|
48
|
+
return base;
|
|
49
|
+
}
|
|
16
50
|
/**
|
|
17
51
|
* Installation tokens (live ~1h repo read/write credentials) are cached IN
|
|
18
52
|
* MEMORY, per isolate/process — never persisted. Persisting them put a plaintext
|
|
@@ -81,7 +115,7 @@ export class GitHubAppAuth {
|
|
|
81
115
|
},
|
|
82
116
|
});
|
|
83
117
|
if (!res.ok) {
|
|
84
|
-
throw new Error(
|
|
118
|
+
throw new Error(explainInstallationTokenMintFailure(installationId, res.status));
|
|
85
119
|
}
|
|
86
120
|
const body = (await res.json());
|
|
87
121
|
const expiresAt = Date.parse(body.expires_at);
|
|
@@ -96,7 +130,18 @@ export class GitHubAppAuth {
|
|
|
96
130
|
}
|
|
97
131
|
importKey() {
|
|
98
132
|
if (!this.keyPromise) {
|
|
99
|
-
|
|
133
|
+
// The config loaders validate the key's SHAPE at boot (PKCS#8 PEM + decodable body — see
|
|
134
|
+
// `requireGitHubAppPrivateKey`), so the common malformed cases fail on the misconfigured
|
|
135
|
+
// screen. A body that is valid base64 but not actually a PKCS#8 RSA key still slips through
|
|
136
|
+
// to here and would reject opaquely, so name the var + the openssl conversion on failure.
|
|
137
|
+
this.keyPromise = crypto.subtle
|
|
138
|
+
.importKey('pkcs8', pkcs8PemToDer(this.deps.privateKeyPem), { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, false, ['sign'])
|
|
139
|
+
.catch((cause) => {
|
|
140
|
+
throw new Error('GITHUB_APP_PRIVATE_KEY could not be imported as a PKCS#8 RSA private key. Ensure it is ' +
|
|
141
|
+
"the GitHub App's private key converted to PKCS#8 (`-----BEGIN PRIVATE KEY-----`) with " +
|
|
142
|
+
'`openssl pkcs8 -topk8 -nocrypt -in key.pem -out key.pk8.pem`. ' +
|
|
143
|
+
`See ${VCS_DOC_URLS.githubOperations}.`, { cause });
|
|
144
|
+
});
|
|
100
145
|
}
|
|
101
146
|
return this.keyPromise;
|
|
102
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubAppAuth.js","sourceRoot":"","sources":["../../src/github/GitHubAppAuth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GitHubAppAuth.js","sourceRoot":"","sources":["../../src/github/GitHubAppAuth.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,13 +31,13 @@ export { mountAuthGate } from './http/authGate.js';
|
|
|
31
31
|
export { param } from './http/params.js';
|
|
32
32
|
export { handleError } from './http/errorHandler.js';
|
|
33
33
|
export { CORS_ALLOWED_HEADERS, corsReflectsWhenUnset, parseAllowedOrigins, resolveCorsOrigin, } from './http/cors.js';
|
|
34
|
-
export { ConfigValidationError, isConfigValidationError, configProblem, formatConfigProblems, requireEnv, requireEncryptionKey, MIN_ENCRYPTION_KEY_BYTES, ENV_HELP, type ConfigProblem, } from './config/problems.js';
|
|
34
|
+
export { ConfigValidationError, isConfigValidationError, configProblem, formatConfigProblems, requireEnv, requireEncryptionKey, requireGitHubAppPrivateKey, MIN_ENCRYPTION_KEY_BYTES, ENV_HELP, type ConfigProblem, } from './config/problems.js';
|
|
35
35
|
export { createMisconfiguredApp, buildMisconfiguredResponse } from './config/misconfiguredApp.js';
|
|
36
36
|
export { DOCS, ENV_VARS_ANCHORS, repoDocUrl } from './config/docs.js';
|
|
37
37
|
export { base64url, base64urlToBytes, pkcs8PemToDer, timingSafeEqual } from './crypto/encoding.js';
|
|
38
38
|
export { WebCryptoSecretCipher, type WebCryptoSecretCipherOptions, } from './crypto/WebCryptoSecretCipher.js';
|
|
39
39
|
export { WebCryptoPersonalSecretCipher } from './crypto/WebCryptoPersonalSecretCipher.js';
|
|
40
|
-
export { GitHubAppAuth, type GitHubAppAuthDependencies } from './github/GitHubAppAuth.js';
|
|
40
|
+
export { GitHubAppAuth, type GitHubAppAuthDependencies, explainInstallationTokenMintFailure, } from './github/GitHubAppAuth.js';
|
|
41
41
|
export { GitHubAppRegistry, type GitHubAppRegistryDependencies, type RegisteredApp, type AppTokenSource, } from './github/GitHubAppRegistry.js';
|
|
42
42
|
export { PatPreferringAppRegistry } from './github/PatPreferringAppRegistry.js';
|
|
43
43
|
export { runWithInitiator, currentInitiator } from './github/runInitiatorContext.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
|
@@ -40,7 +40,7 @@ export { mountAuthGate } from './http/authGate.js';
|
|
|
40
40
|
export { param } from './http/params.js';
|
|
41
41
|
export { handleError } from './http/errorHandler.js';
|
|
42
42
|
export { CORS_ALLOWED_HEADERS, corsReflectsWhenUnset, parseAllowedOrigins, resolveCorsOrigin, } from './http/cors.js';
|
|
43
|
-
export { ConfigValidationError, isConfigValidationError, configProblem, formatConfigProblems, requireEnv, requireEncryptionKey, MIN_ENCRYPTION_KEY_BYTES, ENV_HELP, } from './config/problems.js';
|
|
43
|
+
export { ConfigValidationError, isConfigValidationError, configProblem, formatConfigProblems, requireEnv, requireEncryptionKey, requireGitHubAppPrivateKey, MIN_ENCRYPTION_KEY_BYTES, ENV_HELP, } from './config/problems.js';
|
|
44
44
|
export { createMisconfiguredApp, buildMisconfiguredResponse } from './config/misconfiguredApp.js';
|
|
45
45
|
export { DOCS, ENV_VARS_ANCHORS, repoDocUrl } from './config/docs.js';
|
|
46
46
|
export { base64url, base64urlToBytes, pkcs8PemToDer, timingSafeEqual } from './crypto/encoding.js';
|
|
@@ -49,7 +49,7 @@ export { base64url, base64urlToBytes, pkcs8PemToDer, timingSafeEqual } from './c
|
|
|
49
49
|
// encrypt runner-pool secrets at rest exactly as the Worker does.
|
|
50
50
|
export { WebCryptoSecretCipher, } from './crypto/WebCryptoSecretCipher.js';
|
|
51
51
|
export { WebCryptoPersonalSecretCipher } from './crypto/WebCryptoPersonalSecretCipher.js';
|
|
52
|
-
export { GitHubAppAuth } from './github/GitHubAppAuth.js';
|
|
52
|
+
export { GitHubAppAuth, explainInstallationTokenMintFailure, } from './github/GitHubAppAuth.js';
|
|
53
53
|
export { GitHubAppRegistry, } from './github/GitHubAppRegistry.js';
|
|
54
54
|
export { PatPreferringAppRegistry } from './github/PatPreferringAppRegistry.js';
|
|
55
55
|
export { runWithInitiator, currentInitiator } from './github/runInitiatorContext.js';
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/server",
|
|
3
|
-
"version": "0.112.
|
|
3
|
+
"version": "0.112.3",
|
|
4
4
|
"description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"valibot": "^1.4.2",
|
|
33
33
|
"@cat-factory/agents": "0.54.1",
|
|
34
34
|
"@cat-factory/contracts": "0.127.0",
|
|
35
|
-
"@cat-factory/integrations": "0.81.8",
|
|
36
35
|
"@cat-factory/orchestration": "0.106.2",
|
|
37
36
|
"@cat-factory/kernel": "0.121.3",
|
|
37
|
+
"@cat-factory/integrations": "0.81.8",
|
|
38
38
|
"@cat-factory/prompt-fragments": "0.13.13",
|
|
39
39
|
"@cat-factory/spend": "0.12.17"
|
|
40
40
|
},
|