@gaunt-sloth/core 2.0.0-alpha.23 → 2.0.0-alpha.25
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/README.md +43 -18
- package/dist/config/colour.d.ts +38 -0
- package/dist/config/colour.js +36 -0
- package/dist/config/colour.js.map +1 -0
- package/dist/config/defaults.d.ts +6 -7
- package/dist/config/defaults.js +4 -8
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/loader.d.ts +50 -3
- package/dist/config/loader.js +345 -29
- package/dist/config/loader.js.map +1 -1
- package/dist/config/mouse.d.ts +50 -0
- package/dist/config/mouse.js +44 -0
- package/dist/config/mouse.js.map +1 -0
- package/dist/config/profiles.d.ts +68 -0
- package/dist/config/profiles.js +93 -0
- package/dist/config/profiles.js.map +1 -0
- package/dist/config/schema.d.ts +2441 -116
- package/dist/config/schema.js +930 -19
- package/dist/config/schema.js.map +1 -1
- package/dist/config/shell-policy.d.ts +466 -116
- package/dist/config/shell-policy.js +273 -62
- package/dist/config/shell-policy.js.map +1 -1
- package/dist/config/tool-descriptions.d.ts +165 -0
- package/dist/config/tool-descriptions.js +229 -0
- package/dist/config/tool-descriptions.js.map +1 -0
- package/dist/config/types.d.ts +139 -6
- package/dist/config/types.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/core/GthAbstractAgent.d.ts +85 -2
- package/dist/core/GthAbstractAgent.js +194 -1
- package/dist/core/GthAbstractAgent.js.map +1 -1
- package/dist/core/GthAgentRunner.d.ts +341 -58
- package/dist/core/GthAgentRunner.js +857 -149
- package/dist/core/GthAgentRunner.js.map +1 -1
- package/dist/core/GthLangChainAgent.d.ts +99 -0
- package/dist/core/GthLangChainAgent.js +388 -3
- package/dist/core/GthLangChainAgent.js.map +1 -1
- package/dist/core/approvals/annotations.d.ts +122 -0
- package/dist/core/approvals/annotations.js +137 -0
- package/dist/core/approvals/annotations.js.map +1 -0
- package/dist/core/approvals/grants.d.ts +216 -0
- package/dist/core/approvals/grants.js +469 -0
- package/dist/core/approvals/grants.js.map +1 -0
- package/dist/core/approvals/matcher.d.ts +202 -0
- package/dist/core/approvals/matcher.js +267 -0
- package/dist/core/approvals/matcher.js.map +1 -0
- package/dist/core/approvals/mcpSubjects.d.ts +40 -0
- package/dist/core/approvals/mcpSubjects.js +99 -0
- package/dist/core/approvals/mcpSubjects.js.map +1 -0
- package/dist/core/approvals/toolAnnotationSources.d.ts +105 -0
- package/dist/core/approvals/toolAnnotationSources.js +277 -0
- package/dist/core/approvals/toolAnnotationSources.js.map +1 -0
- package/dist/core/approvals/toolHost.d.ts +46 -0
- package/dist/core/approvals/toolHost.js +108 -0
- package/dist/core/approvals/toolHost.js.map +1 -0
- package/dist/core/debugCapture.d.ts +16 -0
- package/dist/core/debugCapture.js.map +1 -1
- package/dist/core/launchBanner.d.ts +120 -0
- package/dist/core/launchBanner.js +399 -0
- package/dist/core/launchBanner.js.map +1 -0
- package/dist/core/plainToolIndication.js +61 -35
- package/dist/core/plainToolIndication.js.map +1 -1
- package/dist/core/refusal.d.ts +53 -0
- package/dist/core/refusal.js +129 -0
- package/dist/core/refusal.js.map +1 -0
- package/dist/core/shell/approvalStop.d.ts +75 -0
- package/dist/core/shell/approvalStop.js +108 -0
- package/dist/core/shell/approvalStop.js.map +1 -0
- package/dist/core/shell/arity.d.ts +6 -0
- package/dist/core/shell/arity.js +20 -6
- package/dist/core/shell/arity.js.map +1 -1
- package/dist/core/shell/denylist.d.ts +11 -0
- package/dist/core/shell/denylist.js +37 -0
- package/dist/core/shell/denylist.js.map +1 -0
- package/dist/core/shell/normalize.d.ts +41 -1
- package/dist/core/shell/normalize.js +58 -4
- package/dist/core/shell/normalize.js.map +1 -1
- package/dist/core/shell/openWorld.d.ts +138 -0
- package/dist/core/shell/openWorld.js +523 -0
- package/dist/core/shell/openWorld.js.map +1 -0
- package/dist/core/shell/rater.d.ts +560 -0
- package/dist/core/shell/rater.js +895 -0
- package/dist/core/shell/rater.js.map +1 -0
- package/dist/core/shell/raterModel.d.ts +41 -0
- package/dist/core/shell/raterModel.js +51 -0
- package/dist/core/shell/raterModel.js.map +1 -0
- package/dist/core/shell/rejection.d.ts +66 -0
- package/dist/core/shell/rejection.js +38 -0
- package/dist/core/shell/rejection.js.map +1 -0
- package/dist/core/toolCallRepair/grammar.d.ts +41 -0
- package/dist/core/toolCallRepair/grammar.js +116 -0
- package/dist/core/toolCallRepair/grammar.js.map +1 -0
- package/dist/core/toolCallRepair/index.d.ts +2 -0
- package/dist/core/toolCallRepair/index.js +7 -0
- package/dist/core/toolCallRepair/index.js.map +1 -0
- package/dist/core/toolCallRepair/payload.d.ts +36 -0
- package/dist/core/toolCallRepair/payload.js +341 -0
- package/dist/core/toolCallRepair/payload.js.map +1 -0
- package/dist/core/toolCallRepair/promote.d.ts +45 -0
- package/dist/core/toolCallRepair/promote.js +90 -0
- package/dist/core/toolCallRepair/promote.js.map +1 -0
- package/dist/core/toolDisplay.d.ts +14 -1
- package/dist/core/toolDisplay.js +69 -12
- package/dist/core/toolDisplay.js.map +1 -1
- package/dist/core/toolOutputChannel.d.ts +33 -6
- package/dist/core/toolOutputChannel.js +61 -8
- package/dist/core/toolOutputChannel.js.map +1 -1
- package/dist/core/types.d.ts +71 -9
- package/dist/core/types.js.map +1 -1
- package/dist/providers/geminiSchemaSanitizer.d.ts +6 -3
- package/dist/providers/geminiSchemaSanitizer.js +152 -6
- package/dist/providers/geminiSchemaSanitizer.js.map +1 -1
- package/dist/providers/modelDiscovery.d.ts +18 -4
- package/dist/providers/modelDiscovery.js +67 -17
- package/dist/providers/modelDiscovery.js.map +1 -1
- package/dist/providers/openai.js +34 -0
- package/dist/providers/openai.js.map +1 -1
- package/dist/runtime/askStructured.d.ts +8 -7
- package/dist/runtime/askStructured.js +8 -7
- package/dist/runtime/askStructured.js.map +1 -1
- package/dist/runtime/conversation.js +89 -76
- package/dist/runtime/conversation.js.map +1 -1
- package/dist/runtime/singleShot.js +71 -60
- package/dist/runtime/singleShot.js.map +1 -1
- package/dist/utils/ProgressIndicator.d.ts +21 -0
- package/dist/utils/ProgressIndicator.js +30 -3
- package/dist/utils/ProgressIndicator.js.map +1 -1
- package/dist/utils/consoleUtils.d.ts +30 -0
- package/dist/utils/consoleUtils.js +27 -2
- package/dist/utils/consoleUtils.js.map +1 -1
- package/dist/utils/crashHandler.d.ts +87 -0
- package/dist/utils/crashHandler.js +128 -0
- package/dist/utils/crashHandler.js.map +1 -0
- package/dist/utils/debugDump.d.ts +58 -0
- package/dist/utils/debugDump.js +149 -15
- package/dist/utils/debugDump.js.map +1 -1
- package/dist/utils/llmUtils.d.ts +22 -8
- package/dist/utils/llmUtils.js +48 -8
- package/dist/utils/llmUtils.js.map +1 -1
- package/dist/utils/redactSecrets.js +68 -20
- package/dist/utils/redactSecrets.js.map +1 -1
- package/dist/utils/systemUtils.d.ts +17 -0
- package/dist/utils/systemUtils.js +17 -0
- package/dist/utils/systemUtils.js.map +1 -1
- package/package.json +5 -2
- package/schema/gsloth-config.schema.json +1484 -466
- package/dist/core/shell/allowlist.d.ts +0 -75
- package/dist/core/shell/allowlist.js +0 -187
- package/dist/core/shell/allowlist.js.map +0 -1
- package/dist/core/shell/judge.d.ts +0 -161
- package/dist/core/shell/judge.js +0 -261
- package/dist/core/shell/judge.js.map +0 -1
package/dist/config/loader.js
CHANGED
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
import { GSLOTH_DIR, GSLOTH_SETTINGS_DIR, USER_PROJECT_CONFIG_JS, USER_PROJECT_CONFIG_JSON, USER_PROJECT_CONFIG_JSONC, USER_PROJECT_CONFIG_MJS, USER_PROJECT_CONFIG_TS, } from '#src/constants.js';
|
|
8
8
|
import { StatusLevel } from '#src/core/types.js';
|
|
9
9
|
import { displayDebug, displayError, displayInfo, displayWarning, setConsoleLevel, } from '#src/utils/consoleUtils.js';
|
|
10
|
-
import { findDeprecatedConfigIssues, findUnknownTopLevelKeys, formatConfigValidationError, formatDeprecatedConfigIssues, isRecordConfig, rawGthConfigSchema, validateRawGthConfig, } from '#src/config/schema.js';
|
|
10
|
+
import { findApprovalsGrammarIssues, findApprovalsRaterProfiles, findDeprecatedConfigIssues, findUnknownTopLevelKeys, formatConfigValidationError, formatDeprecatedConfigIssues, isRecordConfig, rawGthConfigSchema, unresolvedRaterProfileMessage, validateRawGthConfig, } from '#src/config/schema.js';
|
|
11
11
|
import { parseJsonc } from '#src/config/jsonc.js';
|
|
12
12
|
import { getGslothConfigReadPath, importExternalFile } from '#src/utils/fileUtils.js';
|
|
13
13
|
import { getGlobalGslothConfigReadPath } from '#src/utils/globalConfigUtils.js';
|
|
14
|
-
import { error, exit, getCurrentWorkDir, isTTY, setProjectDir, setUseColour, } from '#src/utils/systemUtils.js';
|
|
14
|
+
import { env, error, exit, getCurrentWorkDir, isStdoutTTY, isTTY, setProjectDir, setUseColour, } from '#src/utils/systemUtils.js';
|
|
15
|
+
import { resolveUseColour } from '#src/config/colour.js';
|
|
16
|
+
import { resolveUseMouse } from '#src/config/mouse.js';
|
|
15
17
|
import { existsSync, readFileSync } from 'node:fs';
|
|
16
18
|
import { homedir } from 'node:os';
|
|
17
19
|
import { dirname, resolve } from 'node:path';
|
|
@@ -27,6 +29,10 @@ import { DEFAULT_CONFIG } from '#src/config/defaults.js';
|
|
|
27
29
|
* {@link findDeprecatedConfigIssues} — is a HARD error naming the canonical replacement +
|
|
28
30
|
* migration path, then exit. 2.0 dropped back-compat coercion, so these fail rather than
|
|
29
31
|
* remap. Runs FIRST so a deprecated name never merely surfaces as an unknown-key warning.
|
|
32
|
+
* 1b. Approvals rule-grammar reject (EXT-71): a bare string in `allow`/`deny`/`escalate`, or a
|
|
33
|
+
* configured `mcpServers` key named `*`, detected by {@link findApprovalsGrammarIssues} — a
|
|
34
|
+
* HARD error, before the parse so its message (which shows the object form of the string the
|
|
35
|
+
* user wrote) is the only one they see.
|
|
30
36
|
* 2. Unknown top-level keys: warn (do NOT fail) so likely typos are surfaced while
|
|
31
37
|
* forward-compatible / extension keys still pass through untouched.
|
|
32
38
|
* 3. Schema parse: on a genuine type mismatch on a known field, emit a friendly,
|
|
@@ -50,6 +56,16 @@ function validateRawConfigLayer(raw, sourceLabel) {
|
|
|
50
56
|
// through into the schema parse below.
|
|
51
57
|
return raw;
|
|
52
58
|
}
|
|
59
|
+
// EXT-71 — the rule-grammar errors that must be seen BEFORE the schema parse: a bare string in
|
|
60
|
+
// a rule list (whose message shows the object form of that same string) and a reserved `*`
|
|
61
|
+
// MCP server name. Checked in the same place as the deprecated scan, and in `gth config
|
|
62
|
+
// validate` too, so the validator can never green-light a config a real run refuses.
|
|
63
|
+
const grammarIssues = findApprovalsGrammarIssues(raw);
|
|
64
|
+
if (grammarIssues.length > 0) {
|
|
65
|
+
displayError(`Invalid configuration in ${sourceLabel}:\n${formatDeprecatedConfigIssues(grammarIssues)}`);
|
|
66
|
+
exit(1);
|
|
67
|
+
return raw;
|
|
68
|
+
}
|
|
53
69
|
const unknownKeys = findUnknownTopLevelKeys(raw);
|
|
54
70
|
if (unknownKeys.length > 0) {
|
|
55
71
|
displayWarning(`Unknown top-level config ${unknownKeys.length === 1 ? 'key' : 'keys'} in ${sourceLabel}: ` +
|
|
@@ -61,6 +77,23 @@ function validateRawConfigLayer(raw, sourceLabel) {
|
|
|
61
77
|
if (!result.success) {
|
|
62
78
|
displayError(`Invalid configuration in ${sourceLabel}:\n${formatConfigValidationError(result.error)}`);
|
|
63
79
|
exit(1);
|
|
80
|
+
// Unreachable past exit(1) in production; in specs exit() is mocked, so returning here keeps
|
|
81
|
+
// a shape-invalid config from falling through into the profile check below.
|
|
82
|
+
return raw;
|
|
83
|
+
}
|
|
84
|
+
// CFG-26 — `approvals.rater` STRICT resolution (GS2-62): a named profile that does not
|
|
85
|
+
// resolve to a real profile config is a hard error, never a silent fallback to the main model.
|
|
86
|
+
// Checked HERE rather than in the zod schema on purpose — resolution needs the filesystem and
|
|
87
|
+
// `schema.ts` must stay pure (it also feeds `z.toJSONSchema`).
|
|
88
|
+
if (isRecordConfig(raw)) {
|
|
89
|
+
for (const ref of findApprovalsRaterProfiles(raw)) {
|
|
90
|
+
if (!resolveIdentityProfileConfigPath(ref.profile)) {
|
|
91
|
+
displayError(`Invalid configuration in ${sourceLabel}:\n` +
|
|
92
|
+
` - ${ref.path}: ${unresolvedRaterProfileMessage(ref)}`);
|
|
93
|
+
exit(1);
|
|
94
|
+
return raw;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
64
97
|
}
|
|
65
98
|
return raw;
|
|
66
99
|
}
|
|
@@ -185,6 +218,14 @@ export function findProjectConfigPath(commandLineConfigOverrides) {
|
|
|
185
218
|
}
|
|
186
219
|
return undefined;
|
|
187
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* CFG-26 — the read-side validator's fs-backed hook, so `gth config validate`
|
|
223
|
+
* ({@link collectConfigValidationLayers}) enforces the SAME `approvals.rater` existence
|
|
224
|
+
* rule the loader hard-exits on. `schema.ts` stays pure; the filesystem knowledge lives here.
|
|
225
|
+
*/
|
|
226
|
+
const RAW_CONFIG_VALIDATION_OPTIONS = {
|
|
227
|
+
resolveProfile: (profile) => resolveIdentityProfileConfigPath(profile) !== undefined,
|
|
228
|
+
};
|
|
188
229
|
/**
|
|
189
230
|
* STRICT existence check for an EXPLICITLY-named identity profile: does
|
|
190
231
|
* `.gsloth/.gsloth-settings/<identityProfile>/<config>` resolve to a real config file anywhere in
|
|
@@ -286,6 +327,138 @@ async function applyGlobalConfigBase(projectRawConfig) {
|
|
|
286
327
|
}
|
|
287
328
|
return deepMerge(globalRawConfig, projectRawConfig);
|
|
288
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* GS2-41 — hard cap on the `extends` chain length: a belt-and-suspenders backstop BEHIND the
|
|
332
|
+
* name-cycle guard. Even if a base name somehow failed to register in the visited chain, a chain
|
|
333
|
+
* this long is a misconfiguration and must fail fast rather than recurse without bound.
|
|
334
|
+
*/
|
|
335
|
+
const MAX_EXTENDS_CHAIN_DEPTH = 50;
|
|
336
|
+
/**
|
|
337
|
+
* GS2-73 — the typed failure the `extends` traversal ({@link resolveExtendsChain}) raises on a
|
|
338
|
+
* cycle, a missing base, an over-deep chain, or an unreadable base. It carries the SAME clear,
|
|
339
|
+
* user-facing message the run path prints, so the two consumers can translate one shared failure
|
|
340
|
+
* into their own convention WITHOUT the traversal being forked or the checks duplicated:
|
|
341
|
+
* - the run path ({@link resolveConfigExtends}) → `displayError` + `exit(1)` (hard-fail a run),
|
|
342
|
+
* - the read path ({@link validateConfig}) → a `not-ok` layer with this message (collect, never
|
|
343
|
+
* `exit`), so `gth config validate` mirrors what a real run would hit (GS2-29 invariant).
|
|
344
|
+
*/
|
|
345
|
+
class ConfigExtendsError extends Error {
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* GS2-41 — resolve a named profile's `extends` inheritance into a single composed raw config,
|
|
349
|
+
* riding the SAME GS2-1 deep-merge the config LAYERS use (NO second merge engine). When the given
|
|
350
|
+
* profile config declares `extends: "<base>"`, the base profile's config resolves FIRST
|
|
351
|
+
* (recursively — a base may itself extend another, so base-of-base resolves first), then this
|
|
352
|
+
* profile's own fields merge on top with last-wins semantics: the child overrides the base, nested
|
|
353
|
+
* objects merge, arrays REPLACE except the additive-array fields (`allowDirs`, `aiignore.patterns`
|
|
354
|
+
* and the three `approvals` rule lists, see {@link isAdditiveArrayField}) which accumulate
|
|
355
|
+
* base+child. The `extends` key itself is consumed and never leaks into the composed output.
|
|
356
|
+
*
|
|
357
|
+
* A config WITHOUT `extends` is returned UNCHANGED — every non-inheriting config (the vast
|
|
358
|
+
* majority) is untouched and behaves exactly as before.
|
|
359
|
+
*
|
|
360
|
+
* Composition is CONFINED to the profile-dir layer: it produces the single raw config that then
|
|
361
|
+
* acts as the project-file layer the global config underlays and CLI flags overlay, preserving
|
|
362
|
+
* GS2-33's outer precedence `CLI flags > profile (base+child composed) > global > defaults`. It is
|
|
363
|
+
* therefore invoked in {@link initConfig} on the loaded project/profile config BEFORE
|
|
364
|
+
* {@link applyGlobalConfigBase}.
|
|
365
|
+
*
|
|
366
|
+
* The base profile is discovered with {@link resolveIdentityProfileConfigPath} (the SAME strict
|
|
367
|
+
* up-tree profile walk `--profile` uses), so `extends` names a profile exactly as a user selects
|
|
368
|
+
* one; a name with no config dir is a hard, clearly-named error.
|
|
369
|
+
*
|
|
370
|
+
* CYCLE GUARD: the chain of profile NAMES is tracked (seeded with the selected profile's own name);
|
|
371
|
+
* because `extends` is single-valued the chain is linear, so a repeated name — `A extends B extends
|
|
372
|
+
* A`, or a self-extend — is an unambiguous cycle and fails fast with a clear error NAMING the cycle,
|
|
373
|
+
* never infinite-looping / stack-overflowing. A hard {@link MAX_EXTENDS_CHAIN_DEPTH} cap backstops
|
|
374
|
+
* it regardless of how the base path was derived.
|
|
375
|
+
*
|
|
376
|
+
* @param rawConfig the just-loaded, schema-validated raw config that MAY declare `extends`.
|
|
377
|
+
* @param profileLabel the selected profile's own name (for cycle detection + messages); undefined
|
|
378
|
+
* for a plain (non-profile) project config.
|
|
379
|
+
*/
|
|
380
|
+
export async function resolveConfigExtends(rawConfig, profileLabel) {
|
|
381
|
+
try {
|
|
382
|
+
return await composeExtends(rawConfig, profileLabel);
|
|
383
|
+
}
|
|
384
|
+
catch (e) {
|
|
385
|
+
// GS2-73 — the traversal now RAISES a {@link ConfigExtendsError} rather than exiting inline, so
|
|
386
|
+
// the read side ({@link validateConfig}) can report the same failure without terminating. On the
|
|
387
|
+
// RUN path we translate it back to the original behaviour: print the clear message and exit(1).
|
|
388
|
+
if (e instanceof ConfigExtendsError) {
|
|
389
|
+
displayError(e.message);
|
|
390
|
+
exit(1);
|
|
391
|
+
// Unreachable past exit(1) in production; LOAD-BEARING under the specs' mocked exit so the
|
|
392
|
+
// caller never observes a silently-composed config after a cycle/missing base.
|
|
393
|
+
throw new Error('Unexpected error occurred.');
|
|
394
|
+
}
|
|
395
|
+
throw e;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* GS2-73 — seed the `extends` chain from the selected profile's own name and run the throwing
|
|
400
|
+
* traversal ({@link resolveExtendsChain}). Shared by BOTH consumers so the walk and its
|
|
401
|
+
* cycle/missing-base checks live in ONE place: the run-path {@link resolveConfigExtends} (which
|
|
402
|
+
* translates a {@link ConfigExtendsError} into `displayError` + `exit`) and the read-path
|
|
403
|
+
* {@link validateConfig} (which records it as a not-ok layer). Propagates the typed error to its
|
|
404
|
+
* caller; the caller owns the reporting convention.
|
|
405
|
+
*/
|
|
406
|
+
async function composeExtends(rawConfig, profileLabel) {
|
|
407
|
+
const seed = profileLabel?.trim();
|
|
408
|
+
return resolveExtendsChain(rawConfig, seed ? [seed] : []);
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* The recursive worker for {@link resolveConfigExtends}. `chain` is the ordered list of profile
|
|
412
|
+
* names already being resolved (the selected profile first, then each `extends` base as it is
|
|
413
|
+
* descended into) — used both for the name-based cycle guard and to render the cycle in the error.
|
|
414
|
+
*
|
|
415
|
+
* GS2-73 — on any hard failure (cycle, over-deep chain, missing base, unreadable base) it RAISES a
|
|
416
|
+
* {@link ConfigExtendsError} rather than printing + `exit`ing inline, so the same traversal serves
|
|
417
|
+
* both the run path and the read-side `validateConfig` (each translates the error its own way).
|
|
418
|
+
*/
|
|
419
|
+
async function resolveExtendsChain(rawConfig, chain) {
|
|
420
|
+
const baseName = typeof rawConfig.extends === 'string' ? rawConfig.extends.trim() : undefined;
|
|
421
|
+
if (!baseName) {
|
|
422
|
+
return rawConfig;
|
|
423
|
+
}
|
|
424
|
+
// Cycle guard (name-based): a base already present in the chain we are resolving loops back on
|
|
425
|
+
// itself. Fail fast, naming the cycle — never recurse without bound. GS2-73 — raise the shared
|
|
426
|
+
// {@link ConfigExtendsError}; the caller (run path vs. `validateConfig`) owns how it is surfaced.
|
|
427
|
+
if (chain.includes(baseName)) {
|
|
428
|
+
throw new ConfigExtendsError(`Profile inheritance cycle detected: ${[...chain, baseName].join(' -> ')}. ` +
|
|
429
|
+
`A profile's "extends" chain must not refer back to itself.`);
|
|
430
|
+
}
|
|
431
|
+
// Depth backstop behind the name guard — a chain this long can only be a misconfiguration.
|
|
432
|
+
if (chain.length >= MAX_EXTENDS_CHAIN_DEPTH) {
|
|
433
|
+
throw new ConfigExtendsError(`Profile inheritance chain exceeds the maximum depth of ${MAX_EXTENDS_CHAIN_DEPTH}: ` +
|
|
434
|
+
`${[...chain, baseName].join(' -> ')}. This is almost certainly a misconfiguration.`);
|
|
435
|
+
}
|
|
436
|
+
const basePath = resolveIdentityProfileConfigPath(baseName);
|
|
437
|
+
if (!basePath) {
|
|
438
|
+
const from = chain.length > 0 ? ` (referenced from "${chain[chain.length - 1]}")` : '';
|
|
439
|
+
throw new ConfigExtendsError(`Profile "${baseName}" referenced by "extends"${from} was not found: no config file in ` +
|
|
440
|
+
`${GSLOTH_DIR}/${GSLOTH_SETTINGS_DIR}/${baseName}/ (checked ${PROJECT_CONFIG_FORMATS.join(', ')}).`);
|
|
441
|
+
}
|
|
442
|
+
let baseRaw;
|
|
443
|
+
try {
|
|
444
|
+
baseRaw = await readRawConfigAtPath(basePath);
|
|
445
|
+
}
|
|
446
|
+
catch (e) {
|
|
447
|
+
displayDebug(e instanceof Error ? e : String(e));
|
|
448
|
+
throw new ConfigExtendsError(`Failed to read base profile "${baseName}" from ${basePath}.`);
|
|
449
|
+
}
|
|
450
|
+
// Validate the base layer exactly as the project layer is validated (deprecated-shape reject,
|
|
451
|
+
// unknown-key warn, type-mismatch fail) so a broken base surfaces loudly rather than silently.
|
|
452
|
+
const validatedBase = validateRawConfigLayer(baseRaw, `${baseName} (extends base)`);
|
|
453
|
+
// Resolve the base's OWN extends first (base-of-base first), THEN merge this profile's delta on
|
|
454
|
+
// top via the existing GS2-1 deep-merge (child = source, so it wins; additive-array fields at the
|
|
455
|
+
// config root accumulate).
|
|
456
|
+
const resolvedBase = await resolveExtendsChain(validatedBase, [...chain, baseName]);
|
|
457
|
+
// Consume `extends` so it never leaks into the composed output, then merge child over base.
|
|
458
|
+
const childDelta = { ...rawConfig };
|
|
459
|
+
delete childDelta.extends;
|
|
460
|
+
return deepMerge(resolvedBase, childDelta);
|
|
461
|
+
}
|
|
289
462
|
/**
|
|
290
463
|
* ORDERING INVARIANT (GS2-11): detection ({@link hasProjectConfig}/{@link hasAnyConfig}) MUST run
|
|
291
464
|
* before {@link initConfig} in a given process. Both resolve cwd-level candidates via
|
|
@@ -401,8 +574,12 @@ export async function initConfig(commandLineConfigOverrides) {
|
|
|
401
574
|
// truth): pre-map deprecated names, warn on unknown top-level keys, and fail
|
|
402
575
|
// with a friendly, path-scoped message on a genuine type mismatch.
|
|
403
576
|
const projectJsonConfig = validateRawConfigLayer(parseJsonc(readFileSync(jsonConfigPath, 'utf8'), jsonConfigName), jsonConfigName);
|
|
577
|
+
// GS2-41 — compose profile inheritance (`extends`) WITHIN the profile-dir layer BEFORE the
|
|
578
|
+
// global base underlays it, so precedence stays CLI > profile(base+child) > global > defaults.
|
|
579
|
+
// No-op (returns the config unchanged) when there is no `extends`.
|
|
580
|
+
const composedProjectConfig = (await resolveConfigExtends(projectJsonConfig, commandLineConfigOverrides.identityProfile));
|
|
404
581
|
// Apply global config as the base layer (project config wins on conflicts).
|
|
405
|
-
const jsonConfig = (await applyGlobalConfigBase(
|
|
582
|
+
const jsonConfig = (await applyGlobalConfigBase(composedProjectConfig));
|
|
406
583
|
// If the config has an LLM with a type, create the appropriate LLM instance
|
|
407
584
|
if (jsonConfig.llm && typeof jsonConfig.llm === 'object' && 'type' in jsonConfig.llm) {
|
|
408
585
|
return await tryJsonConfig(jsonConfig, commandLineConfigOverrides);
|
|
@@ -463,7 +640,10 @@ async function tryModuleConfig(format, commandLineConfigOverrides, baseDir) {
|
|
|
463
640
|
try {
|
|
464
641
|
const i = await importExternalFile(configPath);
|
|
465
642
|
const customConfig = validateRawConfigLayer((await i.configure()), filename);
|
|
466
|
-
|
|
643
|
+
// GS2-41 — compose profile inheritance (`extends`) before the global base underlays it
|
|
644
|
+
// (parity with the JSON branch); no-op when there is no `extends`.
|
|
645
|
+
const composedConfig = await resolveConfigExtends(customConfig, commandLineConfigOverrides.identityProfile);
|
|
646
|
+
const mergedWithGlobal = await applyGlobalConfigBase(composedConfig);
|
|
467
647
|
return await mergeConfig(mergedWithGlobal, commandLineConfigOverrides);
|
|
468
648
|
}
|
|
469
649
|
catch (e) {
|
|
@@ -563,33 +743,96 @@ export async function tryJsonConfig(jsonConfig, commandLineConfigOverrides) {
|
|
|
563
743
|
* REPLACE semantics, because those express "this is THE set" and silently unioning them across
|
|
564
744
|
* global + project would surprise users.
|
|
565
745
|
*
|
|
566
|
-
* | array field
|
|
567
|
-
* |
|
|
568
|
-
* | `allowDirs`
|
|
569
|
-
* | `aiignore.patterns`
|
|
570
|
-
* | `
|
|
571
|
-
* | `
|
|
572
|
-
* | `
|
|
573
|
-
* | `
|
|
574
|
-
* | `
|
|
575
|
-
* |
|
|
576
|
-
*
|
|
577
|
-
*
|
|
578
|
-
*
|
|
579
|
-
*
|
|
746
|
+
* | array field | policy | rationale |
|
|
747
|
+
* | ------------------------------- | -------- | --------------------------------------------- |
|
|
748
|
+
* | `allowDirs` | ADDITIVE | extra sandbox roots accumulate across layers |
|
|
749
|
+
* | `aiignore.patterns` | ADDITIVE | ignore patterns accumulate across layers |
|
|
750
|
+
* | `approvals.deny`/`escalate` | ADDITIVE | see {@link isAdditiveArrayField} |
|
|
751
|
+
* | `approvals.allow` | replace | a PERMISSIVE list; see the same doc |
|
|
752
|
+
* | `allowedTools` | replace | the explicit allow-list IS the set |
|
|
753
|
+
* | `builtInTools` | replace | the explicit tool selection IS the set |
|
|
754
|
+
* | `tools` | replace | live tool instances; union would be surprising|
|
|
755
|
+
* | `middleware` | replace | ordered pipeline; union would reorder/duplicate|
|
|
756
|
+
* | `binaryFormats` | replace | the declared format policy IS the set |
|
|
757
|
+
* | (every other array) | replace | default; preserves historical behaviour |
|
|
758
|
+
*
|
|
759
|
+
* NOTE: these keys only live at the config ROOT, so they are triggered only by the `deepMerge`
|
|
760
|
+
* calls that START at the config root (path === ''). There are TWO such sites: the
|
|
761
|
+
* `applyGlobalConfigBase(global, project)` merge, and — as of GS2-41 — the root-level `deepMerge`
|
|
762
|
+
* inside {@link resolveConfigExtends} that composes an `extends` base with its child profile. The
|
|
763
|
+
* per-command `deepMerge` calls start at command scope and never reach these paths.
|
|
580
764
|
*
|
|
581
765
|
* NAMESPACE CAVEAT: these keys are config-ROOT-relative, but the per-command
|
|
582
766
|
* `deepMerge(DEFAULT_CONFIG.commands.X, …)` calls also start at `path === ''`. No command
|
|
583
767
|
* default carries `allowDirs`/`aiignore`, so there is no collision today — but do NOT add a
|
|
584
|
-
* key
|
|
585
|
-
* inside command merges too.
|
|
768
|
+
* key to THIS SET that could also appear as a per-command field, or it would silently become
|
|
769
|
+
* additive inside command merges too. The approvals RESTRICTIVE lists are the deliberate exception
|
|
770
|
+
* and are therefore matched by path SHAPE ({@link isAdditiveArrayField}) rather than listed here:
|
|
771
|
+
* for them, additive at every scope is the rule and not an accident.
|
|
586
772
|
*/
|
|
587
773
|
const ADDITIVE_ARRAY_FIELDS = new Set(['allowDirs', 'aiignore.patterns']);
|
|
774
|
+
/**
|
|
775
|
+
* §9.1/§11.1f — the approvals **restrictive** lists, wherever they appear. `deny` and `escalate`
|
|
776
|
+
* are PROHIBITIONS, and a prohibition another config layer can quietly delete is not a hardline:
|
|
777
|
+
* §3's "an appended entry can never perturb an existing outcome" has to hold across layers or it
|
|
778
|
+
* holds nowhere. So they add up rather than replace, and no layer can narrow another's.
|
|
779
|
+
*
|
|
780
|
+
* Matched by path SHAPE rather than by an exact root-relative path, because `approvals` is settable
|
|
781
|
+
* at the root AND per command — `commands.code.approvals.deny` has to add up across the global and
|
|
782
|
+
* project layers for exactly the same reason `approvals.deny` does, and listing only the root path
|
|
783
|
+
* would leave the identical silent loss one keystroke away.
|
|
784
|
+
*
|
|
785
|
+
* **`allow` is deliberately NOT here, and adding it would be a security regression.** It is the
|
|
786
|
+
* PERMISSIVE list, so it keeps the default REPLACE policy: a layer that states its own `allow`
|
|
787
|
+
* replaces the layer below, and one that says nothing inherits. §3.1's cost asymmetry is why the
|
|
788
|
+
* three lists do not share a policy — a missed allow entry escalates and a missed deny entry
|
|
789
|
+
* reaches the rater, but a too-broad allow entry runs, unrated and unprompted. Unioning the
|
|
790
|
+
* restrictive lists fails toward a prompt; unioning the permissive one fails toward an execution.
|
|
791
|
+
*/
|
|
792
|
+
const APPROVAL_RESTRICTIVE_LIST_PATH = /(^|\.)approvals\.(deny|escalate)$/;
|
|
793
|
+
/** Whether the array at this dotted path accumulates across layers instead of being replaced. */
|
|
794
|
+
function isAdditiveArrayField(fieldPath) {
|
|
795
|
+
return ADDITIVE_ARRAY_FIELDS.has(fieldPath) || APPROVAL_RESTRICTIVE_LIST_PATH.test(fieldPath);
|
|
796
|
+
}
|
|
797
|
+
/** The `approvals` block itself, at the root or on any command. */
|
|
798
|
+
const APPROVALS_BLOCK_PATH = /(^|\.)approvals$/;
|
|
799
|
+
/**
|
|
800
|
+
* §9.1 — the `approvals` value is a union, and **the scalar rung is exactly sugar for
|
|
801
|
+
* `{ mode: <rung> }`**. Expanded at merge time so a layer that spells its rung the friendly way
|
|
802
|
+
* still merges field-wise: left as a string, a project config's `"approvals": "bypass"` simply
|
|
803
|
+
* overwrites the global's object and discards that layer's rule lists — the same silent loss
|
|
804
|
+
* {@link APPROVAL_RESTRICTIVE_LIST_PATH} exists to prevent, reached by a different route. It
|
|
805
|
+
* matters for the permissive list too, in the other direction: without the expansion a bare rung
|
|
806
|
+
* would silently drop the lower layer's `allow` rather than inheriting it.
|
|
807
|
+
*/
|
|
808
|
+
function expandApprovalsScalar(value) {
|
|
809
|
+
return typeof value === 'string' ? { mode: value } : value;
|
|
810
|
+
}
|
|
811
|
+
/**
|
|
812
|
+
* Whether two layers' `approvals` values have to be merged FIELD-WISE rather than one replacing the
|
|
813
|
+
* other. True only when both layers set the key AND at least one of them is the object form — i.e.
|
|
814
|
+
* only when there is a field that replacement would lose.
|
|
815
|
+
*
|
|
816
|
+
* Deliberately narrow, because expanding the scalar changes the value's SHAPE: a config that is the
|
|
817
|
+
* only one to declare `approvals`, and two layers that both spell it as a bare rung, keep the exact
|
|
818
|
+
* value the user wrote, so `gth config print` and the `/config` panel do not churn for the
|
|
819
|
+
* overwhelmingly common cases.
|
|
820
|
+
*/
|
|
821
|
+
function approvalsNeedFieldWiseMerge(sourceValue, targetValue) {
|
|
822
|
+
if (sourceValue === undefined || targetValue === undefined)
|
|
823
|
+
return false;
|
|
824
|
+
return typeof sourceValue === 'object' || typeof targetValue === 'object';
|
|
825
|
+
}
|
|
588
826
|
/**
|
|
589
827
|
* Deep merge two objects, with source overriding target properties.
|
|
590
828
|
* Objects are merged recursively. Arrays REPLACE by default; arrays at an
|
|
591
|
-
* {@link
|
|
829
|
+
* {@link isAdditiveArrayField} path are concatenated (target-first) then de-duplicated by
|
|
592
830
|
* value. Every other non-plain-object value is replaced by the source value.
|
|
831
|
+
*
|
|
832
|
+
* The de-duplication is by VALUE identity (a `Set`), so it removes repeated primitives and leaves
|
|
833
|
+
* structurally-equal objects — an approvals rule entry written in two layers — both in place. That
|
|
834
|
+
* is correct rather than merely tolerable: a duplicate entry cannot change a most-restrictive-wins
|
|
835
|
+
* outcome, and a deep-equality pass could.
|
|
593
836
|
* @param target - The target object with default values (lower-precedence layer)
|
|
594
837
|
* @param source - The source object with user overrides (higher-precedence layer)
|
|
595
838
|
* @param path - Dotted path from the config root, used to look up the array merge policy.
|
|
@@ -601,9 +844,13 @@ function deepMerge(target, source, path = '') {
|
|
|
601
844
|
return source;
|
|
602
845
|
const result = { ...target };
|
|
603
846
|
for (const key in source) {
|
|
604
|
-
const sourceValue = source[key];
|
|
605
|
-
const targetValue = target[key];
|
|
606
847
|
const fieldPath = path ? `${path}.${key}` : key;
|
|
848
|
+
// §9.1 — normalize the `approvals` scalar/object union to its object form when (and only when)
|
|
849
|
+
// a field would otherwise be lost, so the merge below is field-wise rather than a bare string
|
|
850
|
+
// clobbering a block that carries the user's rule lists.
|
|
851
|
+
const mergeApprovalsFieldWise = APPROVALS_BLOCK_PATH.test(fieldPath) && approvalsNeedFieldWiseMerge(source[key], target[key]);
|
|
852
|
+
const sourceValue = mergeApprovalsFieldWise ? expandApprovalsScalar(source[key]) : source[key];
|
|
853
|
+
const targetValue = mergeApprovalsFieldWise ? expandApprovalsScalar(target[key]) : target[key];
|
|
607
854
|
if (sourceValue &&
|
|
608
855
|
typeof sourceValue === 'object' &&
|
|
609
856
|
!Array.isArray(sourceValue) &&
|
|
@@ -615,7 +862,7 @@ function deepMerge(target, source, path = '') {
|
|
|
615
862
|
}
|
|
616
863
|
else if (Array.isArray(sourceValue) &&
|
|
617
864
|
Array.isArray(targetValue) &&
|
|
618
|
-
|
|
865
|
+
isAdditiveArrayField(fieldPath)) {
|
|
619
866
|
// Additive list: concat both layers (target/lower-precedence first), de-dupe by value.
|
|
620
867
|
result[key] = [...new Set([...targetValue, ...sourceValue])];
|
|
621
868
|
}
|
|
@@ -677,14 +924,29 @@ function resolvePrecedencePickedField(rawConfig, command, field) {
|
|
|
677
924
|
}
|
|
678
925
|
/**
|
|
679
926
|
* Resolve a fully-merged {@link GthConfig} from a partial config + CLI overrides WITHOUT
|
|
680
|
-
* any global side effects
|
|
681
|
-
*
|
|
682
|
-
*
|
|
927
|
+
* any global side effects. It deep-merges defaults, applies CLI overrides, resolves the numeric
|
|
928
|
+
* `consoleLevel` (warning + defaulting to INFO on an invalid value), and computes
|
|
929
|
+
* `canInterruptInferenceWithEsc` and `useColour`. The process-global setters (`setUseColour` /
|
|
683
930
|
* `setConsoleLevel`) are applied separately by {@link mergeConfig}, so this function can be
|
|
684
931
|
* reasoned about and reused without touching global state.
|
|
932
|
+
*
|
|
933
|
+
* It WRITES nothing globally, but it does READ the environment: `canInterruptInferenceWithEsc`
|
|
934
|
+
* consults stdin's TTY status, and (CFG-30) `useColour` consults `FORCE_COLOR`, `NO_COLOR` and
|
|
935
|
+
* stdout's TTY status. So it is deterministic for a given environment rather than a pure function
|
|
936
|
+
* of its arguments — a test that pins a resolved config should declare the terminal and the colour
|
|
937
|
+
* environment it expects in its setup. The ladder itself is a pure helper
|
|
938
|
+
* ({@link resolveUseColour}) so it can be tested rung by rung without process globals.
|
|
685
939
|
*/
|
|
686
940
|
export function resolveConfig(partialConfig, commandLineConfigOverrides) {
|
|
687
941
|
const config = partialConfig;
|
|
942
|
+
// CFG-30 — capture whether the user set `useColour` AT ALL, while the config is still raw.
|
|
943
|
+
// `DEFAULT_CONFIG.useColour` is merged in below, after which an explicit `true` and the default
|
|
944
|
+
// `true` are the same value and rung 3 can no longer be told from rung 4. Read it here or lose it.
|
|
945
|
+
const explicitUseColour = config?.useColour;
|
|
946
|
+
// TUI-C37 — the same pre-merge capture for `useMouse`, and for the same reason: once
|
|
947
|
+
// `DEFAULT_CONFIG.useMouse` is merged in, "the user asked for it" and "nobody said" are the same
|
|
948
|
+
// value and the ladder's config rung can no longer be distinguished from its default rung.
|
|
949
|
+
const explicitUseMouse = config?.useMouse;
|
|
688
950
|
// Deep merge command configs while preserving defaults
|
|
689
951
|
// Type complexity from DEFAULT_CONFIG.commands 'as const' requires any cast for deep merge result
|
|
690
952
|
const mergedCommands = {
|
|
@@ -745,6 +1007,25 @@ export function resolveConfig(partialConfig, commandLineConfigOverrides) {
|
|
|
745
1007
|
}
|
|
746
1008
|
}
|
|
747
1009
|
mergedConfig.canInterruptInferenceWithEsc = mergedConfig.canInterruptInferenceWithEsc && isTTY();
|
|
1010
|
+
// CFG-30 — resolve colour through the four-rung ladder (FORCE_COLOR > NO_COLOR > explicit config
|
|
1011
|
+
// > stdout auto-detect). `useColour` is top-level only (it is not one of the
|
|
1012
|
+
// PRECEDENCE_PICKED_COMMAND_FIELDS), so there is no per-command variant to reconcile.
|
|
1013
|
+
mergedConfig.useColour = resolveUseColour({
|
|
1014
|
+
forceColor: env.FORCE_COLOR,
|
|
1015
|
+
noColor: env.NO_COLOR,
|
|
1016
|
+
explicitUseColour,
|
|
1017
|
+
stdoutIsTTY: isStdoutTTY(),
|
|
1018
|
+
});
|
|
1019
|
+
// TUI-C37 — resolve mouse through its own ladder (GTH_NO_MOUSE > explicit config > TERM >
|
|
1020
|
+
// TTY auto-detect). Resolved here rather than in the TUI so the answer is one field on the
|
|
1021
|
+
// config, the way `useColour` is, instead of a decision each surface re-takes.
|
|
1022
|
+
mergedConfig.useMouse = resolveUseMouse({
|
|
1023
|
+
noMouse: env.GTH_NO_MOUSE,
|
|
1024
|
+
explicitUseMouse,
|
|
1025
|
+
term: env.TERM,
|
|
1026
|
+
stdoutIsTTY: isStdoutTTY(),
|
|
1027
|
+
stdinIsTTY: isTTY(),
|
|
1028
|
+
});
|
|
748
1029
|
return mergedConfig;
|
|
749
1030
|
}
|
|
750
1031
|
/**
|
|
@@ -871,6 +1152,12 @@ async function loadGlobalRawConfigUnvalidated() {
|
|
|
871
1152
|
* global (no layer added) but is surfaced with a `displayWarning` — exactly as a run does (it
|
|
872
1153
|
* warns the user while ignoring the broken global's value) — see {@link
|
|
873
1154
|
* loadGlobalRawConfigUnvalidated}.
|
|
1155
|
+
*
|
|
1156
|
+
* GS2-73 — for the PROJECT layer it also walks the GS2-41 profile `extends` chain (via the SAME
|
|
1157
|
+
* {@link composeExtends}/{@link resolveExtendsChain} the run path uses), so a cycle or a missing
|
|
1158
|
+
* base — which fail a real run — is reported here as a not-ok layer instead of passing OK and only
|
|
1159
|
+
* failing at run time. The GLOBAL layer is NOT walked, mirroring the run (`resolveConfigExtends`
|
|
1160
|
+
* runs on the project/profile layer only).
|
|
874
1161
|
*/
|
|
875
1162
|
export async function validateConfig(commandLineConfigOverrides) {
|
|
876
1163
|
const layers = [];
|
|
@@ -879,14 +1166,43 @@ export async function validateConfig(commandLineConfigOverrides) {
|
|
|
879
1166
|
const discovered = findProjectConfigPath(commandLineConfigOverrides);
|
|
880
1167
|
if (discovered) {
|
|
881
1168
|
const raw = await readRawConfigAtPath(discovered.path);
|
|
882
|
-
|
|
1169
|
+
const layer = {
|
|
1170
|
+
sourceLabel: discovered.path,
|
|
1171
|
+
...validateRawGthConfig(raw, RAW_CONFIG_VALIDATION_OPTIONS),
|
|
1172
|
+
};
|
|
1173
|
+
// GS2-73 — mirror the run's `extends` resolution. GS2-41's `resolveConfigExtends` walks the
|
|
1174
|
+
// profile inheritance chain and hard-fails a real run on a cycle or a missing base; the read
|
|
1175
|
+
// side must surface the SAME failures, else a profile whose `extends` names a missing base (or
|
|
1176
|
+
// forms a cycle) reports OK here yet dies at run time — the exact GS2-29 "validate mirrors the
|
|
1177
|
+
// layer set a run loads" divergence. Reuse the SAME traversal (via {@link composeExtends}) —
|
|
1178
|
+
// no forked walk — and record its typed failure as a not-ok layer instead of exiting. Gated on
|
|
1179
|
+
// `layer.ok` and on a string `extends`, mirroring run order (a run validates the raw shape and
|
|
1180
|
+
// only THEN resolves `extends`) and skipping the read + walk for the common no-`extends` config.
|
|
1181
|
+
if (layer.ok && typeof raw.extends === 'string') {
|
|
1182
|
+
try {
|
|
1183
|
+
await composeExtends(raw, commandLineConfigOverrides.identityProfile);
|
|
1184
|
+
}
|
|
1185
|
+
catch (e) {
|
|
1186
|
+
if (e instanceof ConfigExtendsError) {
|
|
1187
|
+
layer.ok = false;
|
|
1188
|
+
layer.errorMessage = e.message;
|
|
1189
|
+
}
|
|
1190
|
+
else {
|
|
1191
|
+
throw e;
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
layers.push(layer);
|
|
883
1196
|
}
|
|
884
1197
|
// Global layer next: a run ALWAYS applies it (applyGlobalConfigBase in the project path,
|
|
885
1198
|
// loadGlobalRawConfig in the no-project path), so the diagnostic must validate it too — this is
|
|
886
1199
|
// the layer the previous single-layer validateConfig skipped whenever a project config existed.
|
|
887
1200
|
const globalRaw = await loadGlobalRawConfigUnvalidated();
|
|
888
1201
|
if (globalRaw) {
|
|
889
|
-
layers.push({
|
|
1202
|
+
layers.push({
|
|
1203
|
+
sourceLabel: globalRaw.label,
|
|
1204
|
+
...validateRawGthConfig(globalRaw.raw, RAW_CONFIG_VALIDATION_OPTIONS),
|
|
1205
|
+
});
|
|
890
1206
|
}
|
|
891
1207
|
// Vacuous-truth guard: `every` is true on an empty array, so gate `ok` on a config existing.
|
|
892
1208
|
return { found: layers.length > 0, ok: layers.length > 0 && layers.every((l) => l.ok), layers };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|