@cat-factory/local-server 0.64.17 → 0.64.19
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.d.ts.map +1 -1
- package/dist/config.js +10 -26
- package/dist/config.js.map +1 -1
- package/package.json +11 -11
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAanE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAKnC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAGhF;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAanE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAKnC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAGhF;AAiFD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAEzE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CA8E5E;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAEjE"}
|
package/dist/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { loadNodeConfig } from '@cat-factory/node-server';
|
|
2
|
-
import { ENV_HELP,
|
|
2
|
+
import { ENV_HELP, configProblem, requireEncryptionKey, requireEnv } from '@cat-factory/server';
|
|
3
3
|
import { isOffValue } from './envFlags.js';
|
|
4
4
|
import { resolveHostAlias } from './runtimes/index.js';
|
|
5
5
|
// The one-shot fix we advertise whenever local mode can't boot for a missing/invalid mandatory
|
|
@@ -38,8 +38,6 @@ export function withLocalEnvCliAdvice(problems) {
|
|
|
38
38
|
// mode must enforce it on the raw secret too. 32 chars matches MIN_SESSION_SECRET_LENGTH
|
|
39
39
|
// in the Node loader.
|
|
40
40
|
const MIN_SESSION_SECRET_LENGTH = 32;
|
|
41
|
-
/** The system encryption key must decode to at least this many bytes (AES-256). */
|
|
42
|
-
const MIN_ENCRYPTION_KEY_BYTES = 32;
|
|
43
41
|
// The harness inbound-auth secret gates every call between this service and its agent
|
|
44
42
|
// containers, and local mode may be reachable on a LAN — so reject a trivially-guessable value.
|
|
45
43
|
const MIN_HARNESS_SECRET_LENGTH = 16;
|
|
@@ -74,10 +72,16 @@ const DEFAULT_LOCAL_SEARXNG_URL = 'http://localhost:8080';
|
|
|
74
72
|
* three in the right format.
|
|
75
73
|
*/
|
|
76
74
|
function requireStableSecret(env, name) {
|
|
75
|
+
// The encryption key's presence + base64 + AES-256-length validation is the shared, facade-wide
|
|
76
|
+
// invariant, so delegate it verbatim (identical message on Node, local, and the Worker) rather
|
|
77
|
+
// than re-implementing it here. The two length-only secrets below are local-mode-specific.
|
|
78
|
+
if (name === 'ENCRYPTION_KEY') {
|
|
79
|
+
return requireEncryptionKey(env.ENCRYPTION_KEY);
|
|
80
|
+
}
|
|
77
81
|
// Presence + trim + the ENV_HELP meaning/remedy come from the shared `requireEnv` (both these
|
|
78
82
|
// vars have an ENV_HELP entry whose remedy already points at `pnpm secrets` in deploy/local), so
|
|
79
83
|
// a missing/blank secret reports identically across the Node, local, and Worker facades. Local
|
|
80
|
-
// mode then layers its
|
|
84
|
+
// mode then layers its extra length invariant below.
|
|
81
85
|
const value = requireEnv(env, name);
|
|
82
86
|
// Local mode leaves the auth gate open by default, so a short session secret is a real
|
|
83
87
|
// token-forgery risk if the box is reachable on a LAN — reject it up front rather than
|
|
@@ -87,30 +91,9 @@ function requireStableSecret(env, name) {
|
|
|
87
91
|
key: 'AUTH_SESSION_SECRET',
|
|
88
92
|
summary: ENV_HELP.AUTH_SESSION_SECRET.summary,
|
|
89
93
|
remedy: `Must be at least ${MIN_SESSION_SECRET_LENGTH} characters (got ${value.length}). Generate a strong one with \`pnpm secrets\` in deploy/local.`,
|
|
94
|
+
docsUrl: ENV_HELP.AUTH_SESSION_SECRET.docsUrl,
|
|
90
95
|
});
|
|
91
96
|
}
|
|
92
|
-
// Validate the encryption key decodes to a full AES-256 key at config load, so a too-short
|
|
93
|
-
// key fails with a clear message here rather than deep inside the first cipher build.
|
|
94
|
-
if (name === 'ENCRYPTION_KEY') {
|
|
95
|
-
let bytes;
|
|
96
|
-
try {
|
|
97
|
-
bytes = base64urlToBytes(value);
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
throw configProblem({
|
|
101
|
-
key: 'ENCRYPTION_KEY',
|
|
102
|
-
summary: ENV_HELP.ENCRYPTION_KEY.summary,
|
|
103
|
-
remedy: 'It must be a valid base64-encoded key. Generate one with `pnpm secrets` in deploy/local.',
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
if (bytes.length < MIN_ENCRYPTION_KEY_BYTES) {
|
|
107
|
-
throw configProblem({
|
|
108
|
-
key: 'ENCRYPTION_KEY',
|
|
109
|
-
summary: ENV_HELP.ENCRYPTION_KEY.summary,
|
|
110
|
-
remedy: `Must decode to at least ${MIN_ENCRYPTION_KEY_BYTES} bytes (got ${bytes.length}). Generate one with \`pnpm secrets\` in deploy/local.`,
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
97
|
// Reject a too-short harness secret: local mode may be reachable on a LAN and this value is
|
|
115
98
|
// the only auth between the service and its agent containers.
|
|
116
99
|
if (name === 'HARNESS_SHARED_SECRET' && value.length < MIN_HARNESS_SECRET_LENGTH) {
|
|
@@ -118,6 +101,7 @@ function requireStableSecret(env, name) {
|
|
|
118
101
|
key: 'HARNESS_SHARED_SECRET',
|
|
119
102
|
summary: ENV_HELP.HARNESS_SHARED_SECRET.summary,
|
|
120
103
|
remedy: `Must be at least ${MIN_HARNESS_SECRET_LENGTH} characters (got ${value.length}). Generate a strong one with \`pnpm secrets\` in deploy/local.`,
|
|
104
|
+
docsUrl: ENV_HELP.HARNESS_SHARED_SECRET.docsUrl,
|
|
121
105
|
});
|
|
122
106
|
}
|
|
123
107
|
return value;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/local-server",
|
|
3
|
-
"version": "0.64.
|
|
3
|
+
"version": "0.64.19",
|
|
4
4
|
"description": "Local-mode runtime facade for the Agent Architecture Board: the @cat-factory/node-server stack with agent jobs run as local Docker/Podman containers and GitHub accessed via a personal access token — a developer can run the whole product on their own machine.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,22 +26,22 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@hono/node-server": "^2.0.8",
|
|
28
28
|
"drizzle-orm": "1.0.0-rc.4",
|
|
29
|
-
"@cat-factory/
|
|
29
|
+
"@cat-factory/agents": "0.53.2",
|
|
30
|
+
"@cat-factory/contracts": "0.126.0",
|
|
30
31
|
"@cat-factory/executor-harness": "1.43.0",
|
|
31
|
-
"@cat-factory/
|
|
32
|
-
"@cat-factory/
|
|
33
|
-
"@cat-factory/kernel": "0.
|
|
34
|
-
"@cat-factory/node-server": "0.92.
|
|
35
|
-
"@cat-factory/
|
|
36
|
-
"@cat-factory/
|
|
37
|
-
"@cat-factory/integrations": "0.81.0"
|
|
32
|
+
"@cat-factory/gitlab": "0.7.54",
|
|
33
|
+
"@cat-factory/integrations": "0.81.2",
|
|
34
|
+
"@cat-factory/kernel": "0.119.0",
|
|
35
|
+
"@cat-factory/node-server": "0.92.2",
|
|
36
|
+
"@cat-factory/orchestration": "0.105.2",
|
|
37
|
+
"@cat-factory/server": "0.110.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^26.1.0",
|
|
41
41
|
"typescript": "7.0.1-rc",
|
|
42
42
|
"vitest": "^4.1.9",
|
|
43
|
-
"@cat-factory/conformance": "0.10.
|
|
44
|
-
"@cat-factory/gates": "0.5.
|
|
43
|
+
"@cat-factory/conformance": "0.10.92",
|
|
44
|
+
"@cat-factory/gates": "0.5.16"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
47
|
"build": "tsc -b tsconfig.build.json",
|