Extract config path loading
This commit is contained in:
@@ -72,10 +72,6 @@
|
|||||||
"maxFunctionLines": 277,
|
"maxFunctionLines": 277,
|
||||||
"owner": "codex warmup test hotspot"
|
"owner": "codex warmup test hotspot"
|
||||||
},
|
},
|
||||||
"src/config/load-config.ts": {
|
|
||||||
"maxFunctionLines": 187,
|
|
||||||
"owner": "config loading hotspot"
|
|
||||||
},
|
|
||||||
"src/db/base-schema.ts": {
|
"src/db/base-schema.ts": {
|
||||||
"maxFunctionLines": 436,
|
"maxFunctionLines": 436,
|
||||||
"owner": "db schema hotspot"
|
"owner": "db schema hotspot"
|
||||||
|
|||||||
@@ -135,6 +135,34 @@ function assertNoLegacyEnvAliasesConfigured(): void {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buildPathsConfig(
|
||||||
|
projectRoot: string,
|
||||||
|
homeDir: string,
|
||||||
|
): AppConfig['paths'] {
|
||||||
|
return {
|
||||||
|
projectRoot,
|
||||||
|
homeDir,
|
||||||
|
senderAllowlistPath: path.join(
|
||||||
|
homeDir,
|
||||||
|
'.config',
|
||||||
|
'ejclaw',
|
||||||
|
'sender-allowlist.json',
|
||||||
|
),
|
||||||
|
storeDir: path.resolve(
|
||||||
|
readNonEmptyText('EJCLAW_STORE_DIR') ?? path.join(projectRoot, 'store'),
|
||||||
|
),
|
||||||
|
groupsDir: path.resolve(
|
||||||
|
readNonEmptyText('EJCLAW_GROUPS_DIR') ?? path.join(projectRoot, 'groups'),
|
||||||
|
),
|
||||||
|
dataDir: path.resolve(
|
||||||
|
readNonEmptyText('EJCLAW_DATA_DIR') ?? path.join(projectRoot, 'data'),
|
||||||
|
),
|
||||||
|
cacheDir: path.resolve(
|
||||||
|
readNonEmptyText('EJCLAW_CACHE_DIR') ?? path.join(projectRoot, 'cache'),
|
||||||
|
),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function loadConfig(): AppConfig {
|
export function loadConfig(): AppConfig {
|
||||||
assertNoLegacyEnvAliasesConfigured();
|
assertNoLegacyEnvAliasesConfigured();
|
||||||
|
|
||||||
@@ -176,29 +204,7 @@ export function loadConfig(): AppConfig {
|
|||||||
codexMainId: codexMainServiceId,
|
codexMainId: codexMainServiceId,
|
||||||
codexReviewId: codexReviewServiceId,
|
codexReviewId: codexReviewServiceId,
|
||||||
},
|
},
|
||||||
paths: {
|
paths: buildPathsConfig(projectRoot, homeDir),
|
||||||
projectRoot,
|
|
||||||
homeDir,
|
|
||||||
senderAllowlistPath: path.join(
|
|
||||||
homeDir,
|
|
||||||
'.config',
|
|
||||||
'ejclaw',
|
|
||||||
'sender-allowlist.json',
|
|
||||||
),
|
|
||||||
storeDir: path.resolve(
|
|
||||||
readNonEmptyText('EJCLAW_STORE_DIR') ?? path.join(projectRoot, 'store'),
|
|
||||||
),
|
|
||||||
groupsDir: path.resolve(
|
|
||||||
readNonEmptyText('EJCLAW_GROUPS_DIR') ??
|
|
||||||
path.join(projectRoot, 'groups'),
|
|
||||||
),
|
|
||||||
dataDir: path.resolve(
|
|
||||||
readNonEmptyText('EJCLAW_DATA_DIR') ?? path.join(projectRoot, 'data'),
|
|
||||||
),
|
|
||||||
cacheDir: path.resolve(
|
|
||||||
readNonEmptyText('EJCLAW_CACHE_DIR') ?? path.join(projectRoot, 'cache'),
|
|
||||||
),
|
|
||||||
},
|
|
||||||
runtime: {
|
runtime: {
|
||||||
pollInterval: 2000,
|
pollInterval: 2000,
|
||||||
schedulerPollInterval: 60000,
|
schedulerPollInterval: 60000,
|
||||||
|
|||||||
Reference in New Issue
Block a user