@gaunt-sloth/core 2.0.0-alpha.22 → 2.0.0-alpha.24

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.
Files changed (76) hide show
  1. package/README.md +43 -18
  2. package/dist/config/defaults.d.ts +5 -7
  3. package/dist/config/defaults.js +3 -8
  4. package/dist/config/defaults.js.map +1 -1
  5. package/dist/config/loader.d.ts +40 -0
  6. package/dist/config/loader.js +179 -6
  7. package/dist/config/loader.js.map +1 -1
  8. package/dist/config/profiles.d.ts +68 -0
  9. package/dist/config/profiles.js +93 -0
  10. package/dist/config/profiles.js.map +1 -0
  11. package/dist/config/schema.d.ts +69 -2
  12. package/dist/config/schema.js +87 -5
  13. package/dist/config/schema.js.map +1 -1
  14. package/dist/config/types.d.ts +103 -5
  15. package/dist/config/types.js.map +1 -1
  16. package/dist/config.d.ts +1 -0
  17. package/dist/config.js +1 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/core/GthAbstractAgent.d.ts +26 -1
  20. package/dist/core/GthAbstractAgent.js +122 -1
  21. package/dist/core/GthAbstractAgent.js.map +1 -1
  22. package/dist/core/GthAgentRunner.js +40 -0
  23. package/dist/core/GthAgentRunner.js.map +1 -1
  24. package/dist/core/GthLangChainAgent.d.ts +99 -0
  25. package/dist/core/GthLangChainAgent.js +333 -2
  26. package/dist/core/GthLangChainAgent.js.map +1 -1
  27. package/dist/core/debugCapture.d.ts +16 -0
  28. package/dist/core/debugCapture.js.map +1 -1
  29. package/dist/core/plainToolIndication.js +48 -28
  30. package/dist/core/plainToolIndication.js.map +1 -1
  31. package/dist/core/refusal.d.ts +53 -0
  32. package/dist/core/refusal.js +129 -0
  33. package/dist/core/refusal.js.map +1 -0
  34. package/dist/core/runStats.d.ts +14 -3
  35. package/dist/core/runStats.js +48 -3
  36. package/dist/core/runStats.js.map +1 -1
  37. package/dist/core/toolCallRepair/grammar.d.ts +41 -0
  38. package/dist/core/toolCallRepair/grammar.js +116 -0
  39. package/dist/core/toolCallRepair/grammar.js.map +1 -0
  40. package/dist/core/toolCallRepair/index.d.ts +2 -0
  41. package/dist/core/toolCallRepair/index.js +7 -0
  42. package/dist/core/toolCallRepair/index.js.map +1 -0
  43. package/dist/core/toolCallRepair/payload.d.ts +36 -0
  44. package/dist/core/toolCallRepair/payload.js +341 -0
  45. package/dist/core/toolCallRepair/payload.js.map +1 -0
  46. package/dist/core/toolCallRepair/promote.d.ts +45 -0
  47. package/dist/core/toolCallRepair/promote.js +90 -0
  48. package/dist/core/toolCallRepair/promote.js.map +1 -0
  49. package/dist/core/toolDisplay.d.ts +14 -1
  50. package/dist/core/toolDisplay.js +69 -12
  51. package/dist/core/toolDisplay.js.map +1 -1
  52. package/dist/core/toolOutputChannel.d.ts +33 -6
  53. package/dist/core/toolOutputChannel.js +61 -8
  54. package/dist/core/toolOutputChannel.js.map +1 -1
  55. package/dist/core/types.d.ts +22 -0
  56. package/dist/providers/geminiSchemaSanitizer.d.ts +6 -3
  57. package/dist/providers/geminiSchemaSanitizer.js +152 -6
  58. package/dist/providers/geminiSchemaSanitizer.js.map +1 -1
  59. package/dist/providers/modelDiscovery.d.ts +18 -4
  60. package/dist/providers/modelDiscovery.js +67 -17
  61. package/dist/providers/modelDiscovery.js.map +1 -1
  62. package/dist/providers/openai.js +34 -0
  63. package/dist/providers/openai.js.map +1 -1
  64. package/dist/utils/crashHandler.d.ts +87 -0
  65. package/dist/utils/crashHandler.js +128 -0
  66. package/dist/utils/crashHandler.js.map +1 -0
  67. package/dist/utils/debugDump.d.ts +58 -0
  68. package/dist/utils/debugDump.js +149 -15
  69. package/dist/utils/debugDump.js.map +1 -1
  70. package/dist/utils/llmUtils.d.ts +22 -8
  71. package/dist/utils/llmUtils.js +48 -8
  72. package/dist/utils/llmUtils.js.map +1 -1
  73. package/dist/utils/redactSecrets.js +68 -20
  74. package/dist/utils/redactSecrets.js.map +1 -1
  75. package/package.json +1 -1
  76. package/schema/gsloth-config.schema.json +224 -5
package/README.md CHANGED
@@ -1,35 +1,60 @@
1
1
  # @gaunt-sloth/core
2
2
 
3
- Core utilities and types for Gaunt Sloth.
3
+ The foundation layer of Gaunt Sloth: the configuration system (`GthConfig`, config discovery and
4
+ loading, the JSON schema), the LLM provider factory (anthropic, deepseek, google-genai, groq,
5
+ huggingface, ollama, openai, openrouter, vertexai, xai, fake), the lean LangChain agent runtime
6
+ (`GthAgentRunner`), session history, and the shared utility modules (`consoleUtils`,
7
+ `systemUtils`, `fileUtils`, `llmUtils`, …).
4
8
 
5
- ## Contents
9
+ **When to depend on this package** — you are embedding a piece of Gaunt Sloth (or building your
10
+ own front-end on its infrastructure) and need its config resolution and provider wiring without
11
+ the CLI. Every other `@gaunt-sloth/*` package builds on it. If you just want to use Gaunt Sloth
12
+ from the terminal, install the [`gaunt-sloth`](https://www.npmjs.com/package/gaunt-sloth) app
13
+ instead.
6
14
 
7
- - Configuration system (`GthConfig`, `RawGthConfig`, config loading and post-processing)
8
- - Agent infrastructure: `GthLangChainAgent`, `GthAgentRunner`
9
- - LLM provider wrappers: anthropic, deepseek, google-genai, groq, openai, openrouter, vertexai, xai, fake
10
- - Utility modules: `consoleUtils`, `debugUtils`, `fileUtils`, `llmUtils`, `systemUtils`, `stringUtils`, `aiignoreUtils`, `binaryOutputUtils`, `vertexaiUtils`, `globalConfigUtils`, `ProgressIndicator`
11
- - State and artifact storage: `artifactStore`
12
- - Shared constants and types
15
+ ## Installation
13
16
 
14
- AI vendor packages are not direct dependencies. Each vendor package is an optional peer dependency, resolved at runtime by whichever consumer (e.g. `gaunt-sloth`) pulls them in.
17
+ AI vendor packages are optional peer dependencies install the provider(s) your configuration
18
+ uses alongside core:
15
19
 
16
- ## Dependencies
17
-
18
- No other `@gaunt-sloth/*` packages.
20
+ ```bash
21
+ npm install @gaunt-sloth/core @langchain/anthropic
22
+ ```
19
23
 
20
- ## Exports
24
+ ## Embedding: resolve config into a live model
21
25
 
22
- All modules are exported via the `./` export map pattern (`./*.js`), e.g.:
26
+ I want my script to honour the user's `.gsloth.config.*` (provider, model, API keys) instead of
27
+ hard-coding a vendor SDK. With a `.gsloth.config.json` such as
28
+ `{ "llm": { "type": "anthropic", "model": "claude-sonnet-4-5" } }` in the working directory:
23
29
 
24
30
  ```js
25
- import { GthAgentRunner } from '@gaunt-sloth/core/agentRunner.js';
26
- import { display } from '@gaunt-sloth/core/utils/consoleUtils.js';
31
+ import { initConfig } from '@gaunt-sloth/core';
32
+
33
+ const config = await initConfig({}); // discovers .gsloth.config.* up-tree from cwd
34
+ // config.llm is a live LangChain chat model built from that config
35
+ const response = await config.llm.invoke('Say hello');
36
+ console.log(response.text);
27
37
  ```
28
38
 
39
+ All config keys (providers, prompts, tools, per-command settings) are documented in
40
+ [docs/CONFIGURATION.md](https://github.com/pukeko-robotics/gaunt-sloth/blob/main/docs/CONFIGURATION.md).
41
+
42
+ ## Exports
43
+
44
+ - `@gaunt-sloth/core` (the root export) is the public API: config
45
+ (`initConfig`, `GthConfig`, defaults), constants, core types, the lean agent factory, model
46
+ discovery, and session history.
47
+ - `@gaunt-sloth/core/<path>.js` deep paths (e.g. `@gaunt-sloth/core/config.js`,
48
+ `@gaunt-sloth/core/utils/consoleUtils.js`) mirror the internal `dist/` layout 1:1 and are a
49
+ deliberate part of the contract — the other `@gaunt-sloth/*` packages and downstream consumers
50
+ import them directly. They are supported at your own risk: internal files can move between
51
+ alpha/minor versions without a deprecation cycle. Prefer the root export where it suffices.
52
+
53
+ This package ships no binaries.
54
+
29
55
  ## Related packages
30
56
 
31
- - [`@gaunt-sloth/core`](https://www.npmjs.com/package/@gaunt-sloth/core) — Core utilities, config, and agent infrastructure (this package) ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/core))
32
57
  - [`@gaunt-sloth/agent`](https://www.npmjs.com/package/@gaunt-sloth/agent) — Agent runtime: built-in tools, filesystem toolkit, middleware registry, API server, AG-UI, MCP, and A2A integration ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/agent))
33
- - [`@gaunt-sloth/review`](https://www.npmjs.com/package/@gaunt-sloth/review) — Review and Q&A modules with standalone CLI ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/review))
58
+ - [`@gaunt-sloth/review`](https://www.npmjs.com/package/@gaunt-sloth/review) — Review engine with content/requirement sources (GitHub, Jira, file, text) and standalone CLI ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/review))
34
59
  - [`@gaunt-sloth/batch`](https://www.npmjs.com/package/@gaunt-sloth/batch) — Batch / eval / workflow runtime ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/batch))
35
60
  - [`gaunt-sloth`](https://www.npmjs.com/package/gaunt-sloth) — Main CLI application ([source](https://github.com/pukeko-robotics/gaunt-sloth/tree/main/packages/app))
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * Default Gaunt Sloth configuration ({@link DEFAULT_CONFIG}). Extracted verbatim from
4
+ * the former `config.ts` god-file; values are unchanged.
5
+ */
1
6
  import { StatusLevel } from '#src/core/types.js';
2
7
  /**
3
8
  * Default config
@@ -5,17 +10,10 @@ import { StatusLevel } from '#src/core/types.js';
5
10
  export declare const DEFAULT_CONFIG: {
6
11
  readonly contentSource: 'file';
7
12
  readonly requirementSource: 'file';
8
- /**
9
- * Path to project-specific guidelines.
10
- * The default is `.gsloth.guidelines.md`; this config may be used to point Gaunt Sloth to a different file,
11
- * for example, to AGENTS.md
12
- */
13
- readonly projectGuidelines: ".gsloth.guidelines.md";
14
13
  /**
15
14
  * Whether to include the current date in the project review instructions or not.
16
15
  */
17
16
  readonly includeCurrentDateAfterGuidelines: false;
18
- readonly projectReviewInstructions: ".gsloth.review.md";
19
17
  readonly filesystem: 'none';
20
18
  readonly builtInTools: string[];
21
19
  readonly debugLog: false;
@@ -3,7 +3,6 @@
3
3
  * Default Gaunt Sloth configuration ({@link DEFAULT_CONFIG}). Extracted verbatim from
4
4
  * the former `config.ts` god-file; values are unchanged.
5
5
  */
6
- import { PROJECT_GUIDELINES, PROJECT_REVIEW_INSTRUCTIONS } from '#src/constants.js';
7
6
  import { StatusLevel } from '#src/core/types.js';
8
7
  /**
9
8
  * Default config
@@ -11,17 +10,13 @@ import { StatusLevel } from '#src/core/types.js';
11
10
  export const DEFAULT_CONFIG = {
12
11
  contentSource: 'file',
13
12
  requirementSource: 'file',
14
- /**
15
- * Path to project-specific guidelines.
16
- * The default is `.gsloth.guidelines.md`; this config may be used to point Gaunt Sloth to a different file,
17
- * for example, to AGENTS.md
18
- */
19
- projectGuidelines: PROJECT_GUIDELINES,
13
+ // GS2-43: prompt segments (backstory/guidelines/system/chat/code/exec/review) are configured
14
+ // via the optional `prompts` object and DEFAULTED AT THE READ SITE (`readPromptSegment` falls
15
+ // back to each segment's default-named file), so `prompts` is intentionally absent here.
20
16
  /**
21
17
  * Whether to include the current date in the project review instructions or not.
22
18
  */
23
19
  includeCurrentDateAfterGuidelines: false,
24
- projectReviewInstructions: PROJECT_REVIEW_INSTRUCTIONS,
25
20
  filesystem: 'none',
26
21
  // Enabled built-in tools. `gth_checklist` (the lean agent's planning/todo tool) and `gth_grep`
27
22
  // (the permission-light content-search tool, GS2-51) are on by default across commands; a user
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa,EAAE,MAAM;IACrB,iBAAiB,EAAE,MAAM;IACzB;;;;OAIG;IACH,iBAAiB,EAAE,kBAAkB;IACrC;;OAEG;IACH,iCAAiC,EAAE,KAAK;IACxC,yBAAyB,EAAE,2BAA2B;IACtD,UAAU,EAAE,MAAM;IAClB,+FAA+F;IAC/F,+FAA+F;IAC/F,6FAA6F;IAC7F,6FAA6F;IAC7F,0BAA0B;IAC1B,YAAY,EAAE,CAAC,eAAe,EAAE,UAAU,CAAa;IACvD,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,mCAAmC;IACnE;;;;;;;;OAQG;IACH,QAAQ,EAAE;QACR,EAAE,EAAE;YACF,aAAa,EAAE,QAAQ;YACvB,iBAAiB,EAAE,QAAQ;YAC3B,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,GAAG,EAAE;YACH,UAAU,EAAE,MAAM;SACnB;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,MAAM;SACnB;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,KAAK;SAClB;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,KAAK;SAClB;QACD,GAAG,EAAE;YACH,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE;gBACJ,WAAW,EAAE,uBAAuB;gBACpC,YAAY,EAAE,oBAAoB;gBAClC,YAAY,EAAE,sBAAsB;aACrC;SACF;KACF;IACD,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,KAAK;IACxB,wBAAwB,EAAE,IAAI;IAC9B,SAAS,EAAE,IAAI;IACf,yBAAyB,EAAE,IAAI;IAC/B,4BAA4B,EAAE,IAAI;IAClC,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,SAAS;KACpB;CACO,CAAC;AAEX;;;GAGG;AACH,oEAAoE;AACpE,cAA2B,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa,EAAE,MAAM;IACrB,iBAAiB,EAAE,MAAM;IACzB,6FAA6F;IAC7F,8FAA8F;IAC9F,yFAAyF;IACzF;;OAEG;IACH,iCAAiC,EAAE,KAAK;IACxC,UAAU,EAAE,MAAM;IAClB,+FAA+F;IAC/F,+FAA+F;IAC/F,6FAA6F;IAC7F,6FAA6F;IAC7F,0BAA0B;IAC1B,YAAY,EAAE,CAAC,eAAe,EAAE,UAAU,CAAa;IACvD,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,WAAW,CAAC,IAAI,EAAE,mCAAmC;IACnE;;;;;;;;OAQG;IACH,QAAQ,EAAE;QACR,EAAE,EAAE;YACF,aAAa,EAAE,QAAQ;YACvB,iBAAiB,EAAE,QAAQ;YAC3B,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,EAAE;gBACb,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,GAAG,EAAE;YACH,UAAU,EAAE,MAAM;SACnB;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,MAAM;SACnB;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,KAAK;SAClB;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,KAAK;SAClB;QACD,GAAG,EAAE;YACH,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE;gBACJ,WAAW,EAAE,uBAAuB;gBACpC,YAAY,EAAE,oBAAoB;gBAClC,YAAY,EAAE,sBAAsB;aACrC;SACF;KACF;IACD,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,KAAK;IACxB,wBAAwB,EAAE,IAAI;IAC9B,SAAS,EAAE,IAAI;IACf,yBAAyB,EAAE,IAAI;IAC/B,4BAA4B,EAAE,IAAI;IAClC,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,SAAS;KACpB;CACO,CAAC;AAEX;;;GAGG;AACH,oEAAoE;AACpE,cAA2B,CAAC"}
@@ -66,6 +66,40 @@ export declare function resolveIdentityProfileConfigPath(identityProfile: string
66
66
  * @returns The raw global config object, or `undefined` when no global config exists.
67
67
  */
68
68
  export declare function loadGlobalRawConfig(): Promise<Partial<RawGthConfig> | undefined>;
69
+ /**
70
+ * GS2-41 — resolve a named profile's `extends` inheritance into a single composed raw config,
71
+ * riding the SAME GS2-1 deep-merge the config LAYERS use (NO second merge engine). When the given
72
+ * profile config declares `extends: "<base>"`, the base profile's config resolves FIRST
73
+ * (recursively — a base may itself extend another, so base-of-base resolves first), then this
74
+ * profile's own fields merge on top with last-wins semantics: the child overrides the base, nested
75
+ * objects merge, arrays REPLACE except the additive-array fields (`allowDirs`, `aiignore.patterns`,
76
+ * see {@link ADDITIVE_ARRAY_FIELDS}) which accumulate base+child. The `extends` key itself is
77
+ * consumed and never leaks into the composed output.
78
+ *
79
+ * A config WITHOUT `extends` is returned UNCHANGED — every non-inheriting config (the vast
80
+ * majority) is untouched and behaves exactly as before.
81
+ *
82
+ * Composition is CONFINED to the profile-dir layer: it produces the single raw config that then
83
+ * acts as the project-file layer the global config underlays and CLI flags overlay, preserving
84
+ * GS2-33's outer precedence `CLI flags > profile (base+child composed) > global > defaults`. It is
85
+ * therefore invoked in {@link initConfig} on the loaded project/profile config BEFORE
86
+ * {@link applyGlobalConfigBase}.
87
+ *
88
+ * The base profile is discovered with {@link resolveIdentityProfileConfigPath} (the SAME strict
89
+ * up-tree profile walk `--profile` uses), so `extends` names a profile exactly as a user selects
90
+ * one; a name with no config dir is a hard, clearly-named error.
91
+ *
92
+ * CYCLE GUARD: the chain of profile NAMES is tracked (seeded with the selected profile's own name);
93
+ * because `extends` is single-valued the chain is linear, so a repeated name — `A extends B extends
94
+ * A`, or a self-extend — is an unambiguous cycle and fails fast with a clear error NAMING the cycle,
95
+ * never infinite-looping / stack-overflowing. A hard {@link MAX_EXTENDS_CHAIN_DEPTH} cap backstops
96
+ * it regardless of how the base path was derived.
97
+ *
98
+ * @param rawConfig the just-loaded, schema-validated raw config that MAY declare `extends`.
99
+ * @param profileLabel the selected profile's own name (for cycle detection + messages); undefined
100
+ * for a plain (non-profile) project config.
101
+ */
102
+ export declare function resolveConfigExtends(rawConfig: Record<string, unknown>, profileLabel: string | undefined): Promise<Record<string, unknown>>;
69
103
  /**
70
104
  * ORDERING INVARIANT (GS2-11): detection ({@link hasProjectConfig}/{@link hasAnyConfig}) MUST run
71
105
  * before {@link initConfig} in a given process. Both resolve cwd-level candidates via
@@ -165,5 +199,11 @@ export interface ConfigValidationReport {
165
199
  * global (no layer added) but is surfaced with a `displayWarning` — exactly as a run does (it
166
200
  * warns the user while ignoring the broken global's value) — see {@link
167
201
  * loadGlobalRawConfigUnvalidated}.
202
+ *
203
+ * GS2-73 — for the PROJECT layer it also walks the GS2-41 profile `extends` chain (via the SAME
204
+ * {@link composeExtends}/{@link resolveExtendsChain} the run path uses), so a cycle or a missing
205
+ * base — which fail a real run — is reported here as a not-ok layer instead of passing OK and only
206
+ * failing at run time. The GLOBAL layer is NOT walked, mirroring the run (`resolveConfigExtends`
207
+ * runs on the project/profile layer only).
168
208
  */
169
209
  export declare function validateConfig(commandLineConfigOverrides: CommandLineConfigOverrides): Promise<ConfigValidationReport>;
@@ -286,6 +286,138 @@ async function applyGlobalConfigBase(projectRawConfig) {
286
286
  }
287
287
  return deepMerge(globalRawConfig, projectRawConfig);
288
288
  }
289
+ /**
290
+ * GS2-41 — hard cap on the `extends` chain length: a belt-and-suspenders backstop BEHIND the
291
+ * name-cycle guard. Even if a base name somehow failed to register in the visited chain, a chain
292
+ * this long is a misconfiguration and must fail fast rather than recurse without bound.
293
+ */
294
+ const MAX_EXTENDS_CHAIN_DEPTH = 50;
295
+ /**
296
+ * GS2-73 — the typed failure the `extends` traversal ({@link resolveExtendsChain}) raises on a
297
+ * cycle, a missing base, an over-deep chain, or an unreadable base. It carries the SAME clear,
298
+ * user-facing message the run path prints, so the two consumers can translate one shared failure
299
+ * into their own convention WITHOUT the traversal being forked or the checks duplicated:
300
+ * - the run path ({@link resolveConfigExtends}) → `displayError` + `exit(1)` (hard-fail a run),
301
+ * - the read path ({@link validateConfig}) → a `not-ok` layer with this message (collect, never
302
+ * `exit`), so `gth config validate` mirrors what a real run would hit (GS2-29 invariant).
303
+ */
304
+ class ConfigExtendsError extends Error {
305
+ }
306
+ /**
307
+ * GS2-41 — resolve a named profile's `extends` inheritance into a single composed raw config,
308
+ * riding the SAME GS2-1 deep-merge the config LAYERS use (NO second merge engine). When the given
309
+ * profile config declares `extends: "<base>"`, the base profile's config resolves FIRST
310
+ * (recursively — a base may itself extend another, so base-of-base resolves first), then this
311
+ * profile's own fields merge on top with last-wins semantics: the child overrides the base, nested
312
+ * objects merge, arrays REPLACE except the additive-array fields (`allowDirs`, `aiignore.patterns`,
313
+ * see {@link ADDITIVE_ARRAY_FIELDS}) which accumulate base+child. The `extends` key itself is
314
+ * consumed and never leaks into the composed output.
315
+ *
316
+ * A config WITHOUT `extends` is returned UNCHANGED — every non-inheriting config (the vast
317
+ * majority) is untouched and behaves exactly as before.
318
+ *
319
+ * Composition is CONFINED to the profile-dir layer: it produces the single raw config that then
320
+ * acts as the project-file layer the global config underlays and CLI flags overlay, preserving
321
+ * GS2-33's outer precedence `CLI flags > profile (base+child composed) > global > defaults`. It is
322
+ * therefore invoked in {@link initConfig} on the loaded project/profile config BEFORE
323
+ * {@link applyGlobalConfigBase}.
324
+ *
325
+ * The base profile is discovered with {@link resolveIdentityProfileConfigPath} (the SAME strict
326
+ * up-tree profile walk `--profile` uses), so `extends` names a profile exactly as a user selects
327
+ * one; a name with no config dir is a hard, clearly-named error.
328
+ *
329
+ * CYCLE GUARD: the chain of profile NAMES is tracked (seeded with the selected profile's own name);
330
+ * because `extends` is single-valued the chain is linear, so a repeated name — `A extends B extends
331
+ * A`, or a self-extend — is an unambiguous cycle and fails fast with a clear error NAMING the cycle,
332
+ * never infinite-looping / stack-overflowing. A hard {@link MAX_EXTENDS_CHAIN_DEPTH} cap backstops
333
+ * it regardless of how the base path was derived.
334
+ *
335
+ * @param rawConfig the just-loaded, schema-validated raw config that MAY declare `extends`.
336
+ * @param profileLabel the selected profile's own name (for cycle detection + messages); undefined
337
+ * for a plain (non-profile) project config.
338
+ */
339
+ export async function resolveConfigExtends(rawConfig, profileLabel) {
340
+ try {
341
+ return await composeExtends(rawConfig, profileLabel);
342
+ }
343
+ catch (e) {
344
+ // GS2-73 — the traversal now RAISES a {@link ConfigExtendsError} rather than exiting inline, so
345
+ // the read side ({@link validateConfig}) can report the same failure without terminating. On the
346
+ // RUN path we translate it back to the original behaviour: print the clear message and exit(1).
347
+ if (e instanceof ConfigExtendsError) {
348
+ displayError(e.message);
349
+ exit(1);
350
+ // Unreachable past exit(1) in production; LOAD-BEARING under the specs' mocked exit so the
351
+ // caller never observes a silently-composed config after a cycle/missing base.
352
+ throw new Error('Unexpected error occurred.');
353
+ }
354
+ throw e;
355
+ }
356
+ }
357
+ /**
358
+ * GS2-73 — seed the `extends` chain from the selected profile's own name and run the throwing
359
+ * traversal ({@link resolveExtendsChain}). Shared by BOTH consumers so the walk and its
360
+ * cycle/missing-base checks live in ONE place: the run-path {@link resolveConfigExtends} (which
361
+ * translates a {@link ConfigExtendsError} into `displayError` + `exit`) and the read-path
362
+ * {@link validateConfig} (which records it as a not-ok layer). Propagates the typed error to its
363
+ * caller; the caller owns the reporting convention.
364
+ */
365
+ async function composeExtends(rawConfig, profileLabel) {
366
+ const seed = profileLabel?.trim();
367
+ return resolveExtendsChain(rawConfig, seed ? [seed] : []);
368
+ }
369
+ /**
370
+ * The recursive worker for {@link resolveConfigExtends}. `chain` is the ordered list of profile
371
+ * names already being resolved (the selected profile first, then each `extends` base as it is
372
+ * descended into) — used both for the name-based cycle guard and to render the cycle in the error.
373
+ *
374
+ * GS2-73 — on any hard failure (cycle, over-deep chain, missing base, unreadable base) it RAISES a
375
+ * {@link ConfigExtendsError} rather than printing + `exit`ing inline, so the same traversal serves
376
+ * both the run path and the read-side `validateConfig` (each translates the error its own way).
377
+ */
378
+ async function resolveExtendsChain(rawConfig, chain) {
379
+ const baseName = typeof rawConfig.extends === 'string' ? rawConfig.extends.trim() : undefined;
380
+ if (!baseName) {
381
+ return rawConfig;
382
+ }
383
+ // Cycle guard (name-based): a base already present in the chain we are resolving loops back on
384
+ // itself. Fail fast, naming the cycle — never recurse without bound. GS2-73 — raise the shared
385
+ // {@link ConfigExtendsError}; the caller (run path vs. `validateConfig`) owns how it is surfaced.
386
+ if (chain.includes(baseName)) {
387
+ throw new ConfigExtendsError(`Profile inheritance cycle detected: ${[...chain, baseName].join(' -> ')}. ` +
388
+ `A profile's "extends" chain must not refer back to itself.`);
389
+ }
390
+ // Depth backstop behind the name guard — a chain this long can only be a misconfiguration.
391
+ if (chain.length >= MAX_EXTENDS_CHAIN_DEPTH) {
392
+ throw new ConfigExtendsError(`Profile inheritance chain exceeds the maximum depth of ${MAX_EXTENDS_CHAIN_DEPTH}: ` +
393
+ `${[...chain, baseName].join(' -> ')}. This is almost certainly a misconfiguration.`);
394
+ }
395
+ const basePath = resolveIdentityProfileConfigPath(baseName);
396
+ if (!basePath) {
397
+ const from = chain.length > 0 ? ` (referenced from "${chain[chain.length - 1]}")` : '';
398
+ throw new ConfigExtendsError(`Profile "${baseName}" referenced by "extends"${from} was not found: no config file in ` +
399
+ `${GSLOTH_DIR}/${GSLOTH_SETTINGS_DIR}/${baseName}/ (checked ${PROJECT_CONFIG_FORMATS.join(', ')}).`);
400
+ }
401
+ let baseRaw;
402
+ try {
403
+ baseRaw = await readRawConfigAtPath(basePath);
404
+ }
405
+ catch (e) {
406
+ displayDebug(e instanceof Error ? e : String(e));
407
+ throw new ConfigExtendsError(`Failed to read base profile "${baseName}" from ${basePath}.`);
408
+ }
409
+ // Validate the base layer exactly as the project layer is validated (deprecated-shape reject,
410
+ // unknown-key warn, type-mismatch fail) so a broken base surfaces loudly rather than silently.
411
+ const validatedBase = validateRawConfigLayer(baseRaw, `${baseName} (extends base)`);
412
+ // Resolve the base's OWN extends first (base-of-base first), THEN merge this profile's delta on
413
+ // top via the existing GS2-1 deep-merge (child = source, so it wins; additive-array fields at the
414
+ // config root accumulate).
415
+ const resolvedBase = await resolveExtendsChain(validatedBase, [...chain, baseName]);
416
+ // Consume `extends` so it never leaks into the composed output, then merge child over base.
417
+ const childDelta = { ...rawConfig };
418
+ delete childDelta.extends;
419
+ return deepMerge(resolvedBase, childDelta);
420
+ }
289
421
  /**
290
422
  * ORDERING INVARIANT (GS2-11): detection ({@link hasProjectConfig}/{@link hasAnyConfig}) MUST run
291
423
  * before {@link initConfig} in a given process. Both resolve cwd-level candidates via
@@ -401,8 +533,12 @@ export async function initConfig(commandLineConfigOverrides) {
401
533
  // truth): pre-map deprecated names, warn on unknown top-level keys, and fail
402
534
  // with a friendly, path-scoped message on a genuine type mismatch.
403
535
  const projectJsonConfig = validateRawConfigLayer(parseJsonc(readFileSync(jsonConfigPath, 'utf8'), jsonConfigName), jsonConfigName);
536
+ // GS2-41 — compose profile inheritance (`extends`) WITHIN the profile-dir layer BEFORE the
537
+ // global base underlays it, so precedence stays CLI > profile(base+child) > global > defaults.
538
+ // No-op (returns the config unchanged) when there is no `extends`.
539
+ const composedProjectConfig = (await resolveConfigExtends(projectJsonConfig, commandLineConfigOverrides.identityProfile));
404
540
  // Apply global config as the base layer (project config wins on conflicts).
405
- const jsonConfig = (await applyGlobalConfigBase(projectJsonConfig));
541
+ const jsonConfig = (await applyGlobalConfigBase(composedProjectConfig));
406
542
  // If the config has an LLM with a type, create the appropriate LLM instance
407
543
  if (jsonConfig.llm && typeof jsonConfig.llm === 'object' && 'type' in jsonConfig.llm) {
408
544
  return await tryJsonConfig(jsonConfig, commandLineConfigOverrides);
@@ -463,7 +599,10 @@ async function tryModuleConfig(format, commandLineConfigOverrides, baseDir) {
463
599
  try {
464
600
  const i = await importExternalFile(configPath);
465
601
  const customConfig = validateRawConfigLayer((await i.configure()), filename);
466
- const mergedWithGlobal = await applyGlobalConfigBase(customConfig);
602
+ // GS2-41 compose profile inheritance (`extends`) before the global base underlays it
603
+ // (parity with the JSON branch); no-op when there is no `extends`.
604
+ const composedConfig = await resolveConfigExtends(customConfig, commandLineConfigOverrides.identityProfile);
605
+ const mergedWithGlobal = await applyGlobalConfigBase(composedConfig);
467
606
  return await mergeConfig(mergedWithGlobal, commandLineConfigOverrides);
468
607
  }
469
608
  catch (e) {
@@ -574,9 +713,11 @@ export async function tryJsonConfig(jsonConfig, commandLineConfigOverrides) {
574
713
  * | `binaryFormats` | replace | the declared format policy IS the set |
575
714
  * | (every other array) | replace | default; preserves historical behaviour |
576
715
  *
577
- * NOTE: the additive fields only live at the config ROOT, so only the
578
- * `applyGlobalConfigBase(global, project)` merge can trigger them; the per-command
579
- * `deepMerge` calls start at command scope and never reach these paths.
716
+ * NOTE: the additive fields only live at the config ROOT, so they are triggered only by the
717
+ * `deepMerge` calls that START at the config root (path === ''). There are TWO such sites: the
718
+ * `applyGlobalConfigBase(global, project)` merge, and as of GS2-41 the root-level `deepMerge`
719
+ * inside {@link resolveConfigExtends} that composes an `extends` base with its child profile. The
720
+ * per-command `deepMerge` calls start at command scope and never reach these paths.
580
721
  *
581
722
  * NAMESPACE CAVEAT: these keys are config-ROOT-relative, but the per-command
582
723
  * `deepMerge(DEFAULT_CONFIG.commands.X, …)` calls also start at `path === ''`. No command
@@ -871,6 +1012,12 @@ async function loadGlobalRawConfigUnvalidated() {
871
1012
  * global (no layer added) but is surfaced with a `displayWarning` — exactly as a run does (it
872
1013
  * warns the user while ignoring the broken global's value) — see {@link
873
1014
  * loadGlobalRawConfigUnvalidated}.
1015
+ *
1016
+ * GS2-73 — for the PROJECT layer it also walks the GS2-41 profile `extends` chain (via the SAME
1017
+ * {@link composeExtends}/{@link resolveExtendsChain} the run path uses), so a cycle or a missing
1018
+ * base — which fail a real run — is reported here as a not-ok layer instead of passing OK and only
1019
+ * failing at run time. The GLOBAL layer is NOT walked, mirroring the run (`resolveConfigExtends`
1020
+ * runs on the project/profile layer only).
874
1021
  */
875
1022
  export async function validateConfig(commandLineConfigOverrides) {
876
1023
  const layers = [];
@@ -879,7 +1026,33 @@ export async function validateConfig(commandLineConfigOverrides) {
879
1026
  const discovered = findProjectConfigPath(commandLineConfigOverrides);
880
1027
  if (discovered) {
881
1028
  const raw = await readRawConfigAtPath(discovered.path);
882
- layers.push({ sourceLabel: discovered.path, ...validateRawGthConfig(raw) });
1029
+ const layer = {
1030
+ sourceLabel: discovered.path,
1031
+ ...validateRawGthConfig(raw),
1032
+ };
1033
+ // GS2-73 — mirror the run's `extends` resolution. GS2-41's `resolveConfigExtends` walks the
1034
+ // profile inheritance chain and hard-fails a real run on a cycle or a missing base; the read
1035
+ // side must surface the SAME failures, else a profile whose `extends` names a missing base (or
1036
+ // forms a cycle) reports OK here yet dies at run time — the exact GS2-29 "validate mirrors the
1037
+ // layer set a run loads" divergence. Reuse the SAME traversal (via {@link composeExtends}) —
1038
+ // no forked walk — and record its typed failure as a not-ok layer instead of exiting. Gated on
1039
+ // `layer.ok` and on a string `extends`, mirroring run order (a run validates the raw shape and
1040
+ // only THEN resolves `extends`) and skipping the read + walk for the common no-`extends` config.
1041
+ if (layer.ok && typeof raw.extends === 'string') {
1042
+ try {
1043
+ await composeExtends(raw, commandLineConfigOverrides.identityProfile);
1044
+ }
1045
+ catch (e) {
1046
+ if (e instanceof ConfigExtendsError) {
1047
+ layer.ok = false;
1048
+ layer.errorMessage = e.message;
1049
+ }
1050
+ else {
1051
+ throw e;
1052
+ }
1053
+ }
1054
+ }
1055
+ layers.push(layer);
883
1056
  }
884
1057
  // Global layer next: a run ALWAYS applies it (applyGlobalConfigBase in the project path,
885
1058
  // loadGlobalRawConfig in the no-project path), so the diagnostic must validate it too — this is
@@ -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":"AAAA;;;;;GAKG;AACH,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EACL,KAAK,EACL,IAAI,EACJ,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AASzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,sBAAsB,CAAoC,GAAM,EAAE,WAAmB;IAC5F,+FAA+F;IAC/F,uFAAuF;IACvF,sFAAsF;IACtF,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,YAAY,CACV,4BAA4B,WAAW,MAAM,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,CAC9F,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,CAAC;YACR,uFAAuF;YACvF,uCAAuC;YACvC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,cAAc,CACZ,4BAA4B,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,OAAO,WAAW,IAAI;gBACzF,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,cAAc;gBAC3F,8CAA8C,CACjD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,YAAY,CACV,4BAA4B,WAAW,MAAM,2BAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzF,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,sBAAsB,GAAsB;IAChD,wBAAwB;IACxB,yBAAyB;IACzB,sBAAsB;IACtB,uBAAuB;IACvB,sBAAsB;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,qBAAqB,GAAsB;IAC/C,wBAAwB;IACxB,yBAAyB;CAC1B,CAAC;AAEF;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,6BAA6B,CACpC,GAAW,EACX,QAAgB,EAChB,kBAAsC;IAEtC,MAAM,eAAe,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,eAAe;YAChC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,CAAC;YACxD,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,OAAe,EACf,QAAgB,EAChB,eAAmC;IAEnC,OAAO,OAAO,KAAK,iBAAiB,EAAE;QACpC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC;QACpD,CAAC,CAAC,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,QAAQ,CAAC,CAAC,oBAAoB;IAC5B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAC9B,SAAS,CAAC;QACR,MAAM,GAAG,CAAC;QACV,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACvE,MAAM;QACR,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CACnC,0BAAsD;IAEtD,IAAI,0BAA0B,CAAC,gBAAgB,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,0BAA0B,CAAC,gBAAgB,CAAC;YAC5D,CAAC,CAAC;gBACE,GAAG,EAAE,OAAO,CAAC,0BAA0B,CAAC,gBAAgB,CAAC;gBACzD,IAAI,EAAE,0BAA0B,CAAC,gBAAgB;aAClD;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,mFAAmF;IACnF,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,iBAAiB,CACjC,GAAG,EACH,QAAQ,EACR,0BAA0B,CAAC,eAAe,CAC3C,CAAC;YACF,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gCAAgC,CAAC,eAAuB;IACtE,MAAM,OAAO,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC1E,KAAK,MAAM,QAAQ,IAAI,sBAAsB,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,mFAAmF;IACnF,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,GAAG,QAAQ,WAAW,CAG/E,CAAC;gBACF,OAAO,sBAAsB,CAAC,MAAM,EAAE,GAAG,QAAQ,WAAW,CAA0B,CAAC;YACzF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,cAAc,CAAC,qCAAqC,QAAQ,gBAAgB,CAAC,CAAC;gBAC9E,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,KAAK,MAAM,QAAQ,IAAI,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACzE,MAAM,UAAU,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC9C,OAAO,sBAAsB,CAC3B,UAAqC,EACrC,GAAG,QAAQ,WAAW,CACE,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,cAAc,CAAC,qCAAqC,UAAU,gBAAgB,CAAC,CAAC;gBAChF,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,gBAAmB;IAEnB,MAAM,eAAe,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACpD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC,eAA6B,EAAE,gBAAgB,CAAM,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,kBAAmB,SAAQ,KAAK;CAAG;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAkC,EAClC,YAAgC;IAEhC,IAAI,CAAC;QACH,OAAO,MAAM,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gGAAgG;QAChG,iGAAiG;QACjG,gGAAgG;QAChG,IAAI,CAAC,YAAY,kBAAkB,EAAE,CAAC;YACpC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,CAAC;YACR,2FAA2F;YAC3F,+EAA+E;YAC/E,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAC3B,SAAkC,EAClC,YAAgC;IAEhC,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC;IAClC,OAAO,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,mBAAmB,CAChC,SAAkC,EAClC,KAAe;IAEf,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,+FAA+F;IAC/F,+FAA+F;IAC/F,kGAAkG;IAClG,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAC1B,uCAAuC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;YAC1E,4DAA4D,CAC/D,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,IAAI,KAAK,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC5C,MAAM,IAAI,kBAAkB,CAC1B,0DAA0D,uBAAuB,IAAI;YACnF,GAAG,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gDAAgD,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,kBAAkB,CAC1B,YAAY,QAAQ,4BAA4B,IAAI,oCAAoC;YACtF,GAAG,UAAU,IAAI,mBAAmB,IAAI,QAAQ,cAAc,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACtG,CAAC;IACJ,CAAC;IAED,IAAI,OAAgC,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,QAAQ,UAAU,QAAQ,GAAG,CAAC,CAAC;IAC9F,CAAC;IAED,8FAA8F;IAC9F,+FAA+F;IAC/F,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC;IAEpF,gGAAgG;IAChG,kGAAkG;IAClG,2BAA2B;IAC3B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpF,4FAA4F;IAC5F,MAAM,UAAU,GAA4B,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7D,OAAO,UAAU,CAAC,OAAO,CAAC;IAC1B,OAAO,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,0BAAsD;IACrF,OAAO,qBAAqB,CAAC,0BAA0B,CAAC,KAAK,SAAS,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,0BAAsD;IAEtD,IAAI,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,MAAM,mBAAmB,EAAE,CAAC,KAAK,SAAS,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,0BAAsD;IAEtD,IACE,0BAA0B,CAAC,gBAAgB;QAC3C,CAAC,UAAU,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,EACxD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,2BAA2B,0BAA0B,CAAC,gBAAgB,kBAAkB,CACzF,CAAC;IACJ,CAAC;IAED,6FAA6F;IAC7F,gGAAgG;IAChG,kGAAkG;IAClG,2FAA2F;IAC3F,sDAAsD;IACtD,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzB,4FAA4F;IAC5F,8FAA8F;IAC9F,sFAAsF;IACtF,MAAM,UAAU,GAAG,qBAAqB,CAAC,0BAA0B,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,UAAU,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAEvD,0FAA0F;IAC1F,8FAA8F;IAC9F,2FAA2F;IAC3F,iGAAiG;IACjG,oGAAoG;IACpG,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAE/B,qFAAqF;IACrF,4FAA4F;IAC5F,4FAA4F;IAC5F,8FAA8F;IAC9F,MAAM,wBAAwB,GAC5B,UAAU,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,cAAc,GAClB,0BAA0B,CAAC,gBAAgB;QAC3C,wBAAwB;QACxB,iBAAiB,CACf,OAAO,EACP,wBAAwB,EACxB,0BAA0B,CAAC,eAAe,CAC3C,CAAC;IAEJ,8FAA8F;IAC9F,sFAAsF;IACtF,6FAA6F;IAC7F,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,2FAA2F;QAC3F,+FAA+F;QAC/F,gGAAgG;QAChG,4FAA4F;QAC5F,gGAAgG;QAChG,4FAA4F;QAC5F,MAAM,eAAe,GAAG,0BAA0B,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QAC3E,IAAI,eAAe,EAAE,CAAC;YACpB,YAAY,CACV,qBAAqB,eAAe,iCAAiC;gBACnE,GAAG,UAAU,IAAI,mBAAmB,IAAI,eAAe,IAAI;gBAC3D,YAAY,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,CAAC;YACR,8FAA8F;YAC9F,4FAA4F;YAC5F,2FAA2F;YAC3F,+EAA+E;YAC/E,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACpD,IAAI,eAAe,EAAE,CAAC;YACpB,IACE,eAAe,CAAC,GAAG;gBACnB,OAAO,eAAe,CAAC,GAAG,KAAK,QAAQ;gBACvC,MAAM,IAAI,eAAe,CAAC,GAAG,EAC7B,CAAC;gBACD,uEAAuE;gBACvE,OAAO,MAAM,aAAa,CAAC,eAA+B,EAAE,0BAA0B,CAAC,CAAC;YAC1F,CAAC;YACD,YAAY,CACV,2FAA2F,CAC5F,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,CAAC;YACR,iFAAiF;YACjF,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,8EAA8E;IAC9E,IAAI,gBAAgB,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnE,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACtD,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,wBAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,6EAA6E;YAC7E,6EAA6E;YAC7E,mEAAmE;YACnE,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,UAAU,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,cAAc,CAA4B,EAC3F,cAAc,CACY,CAAC;YAC7B,2FAA2F;YAC3F,+FAA+F;YAC/F,mEAAmE;YACnE,MAAM,qBAAqB,GAAG,CAAC,MAAM,oBAAoB,CACvD,iBAAuD,EACvD,0BAA0B,CAAC,eAAe,CAC3C,CAA4B,CAAC;YAC9B,4EAA4E;YAC5E,MAAM,UAAU,GAAG,CAAC,MAAM,qBAAqB,CAC7C,qBAA2D,CAC5D,CAA4B,CAAC;YAC9B,4EAA4E;YAC5E,IAAI,UAAU,CAAC,GAAG,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gBACrF,OAAO,MAAM,aAAa,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,cAAc,0DAA0D,CAAC,CAAC;gBACnF,IAAI,CAAC,CAAC,CAAC,CAAC;gBACR,wCAAwC;gBACxC,iHAAiH;gBACjH,wCAAwC;gBACxC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,YAAY,CAAC,8BAA8B,cAAc,2BAA2B,CAAC,CAAC;YACtF,gCAAgC;YAChC,OAAO,MAAM,eAAe,CAAC,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,OAAO,eAAe,CAAC,IAAI,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AASD;;;GAGG;AACH,MAAM,qBAAqB,GAAkC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAEjF,MAAM,sBAAsB,GAAuC;IACjE,EAAE,EAAE,sBAAsB;IAC1B,GAAG,EAAE,uBAAuB;IAC5B,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEF,MAAM,iBAAiB,GAAuC;IAC5D,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,EAAE,EAAE,KAAK;CACV,CAAC;AAEF;;;;;;;;;GASG;AACH,KAAK,UAAU,eAAe,CAC5B,MAA0B,EAC1B,0BAAsD,EACtD,OAAe;IAEf,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,MAAM,UAAU,GACd,0BAA0B,CAAC,gBAAgB;QAC3C,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,0BAA0B,CAAC,eAAe,CAAC,CAAC;IACnF,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,sBAAsB,CACzC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAA4B,EAChD,QAAQ,CACT,CAAC;YACF,uFAAuF;YACvF,mEAAmE;YACnE,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAC/C,YAAY,EACZ,0BAA0B,CAAC,eAAe,CAC3C,CAAC;YACF,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;YACrE,OAAO,MAAM,WAAW,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,CAAC,8BAA8B,QAAQ,2BAA2B,CAAC,CAAC;gBAChF,gCAAgC;gBAChC,OAAO,MAAM,eAAe,CAAC,UAAU,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;YACD,YAAY,CAAC,8BAA8B,QAAQ,GAAG,CAAC,CAAC;YACxD,YAAY,CAAC,yEAAyE,CAAC,CAAC;YACxF,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACtB,0CAA0C;QAC1C,OAAO,MAAM,eAAe,CAAC,UAAU,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,wBAAwB;QACxB,YAAY,CACV,qDAAqD;YACnD,GAAG,wBAAwB,KAAK,sBAAsB,QAAQ,uBAAuB,GAAG;YACxF,4BAA4B,CAC/B,CAAC;QACF,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IACD,iHAAiH;IACjH,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAwB,EACxB,0BAAsD;IAEtD,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,GAAG,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACzD,yEAAyE;YACzE,MAAM,OAAO,GAAI,UAAU,CAAC,GAAiB,CAAC,IAAI,CAAC;YACnD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,mCAAmC,CAAC,CAAC;gBAClD,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;YAED,kDAAkD;YAClD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC;YACjC,IAAI,0BAA0B,CAAC,OAAO,EAAE,CAAC;gBACvC,6EAA6E;gBAC7E,SAAS,CAAC,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC;YACzD,CAAC;YACD,IAAI,0BAA0B,CAAC,KAAK,EAAE,CAAC;gBACrC,yFAAyF;gBACzF,yFAAyF;gBACzF,6DAA6D;gBAC7D,SAAS,CAAC,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC;YACrD,CAAC;YACD,uCAAuC;YACvC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,kBAAkB,OAAO,KAAK,CAAC,CAAC;YAClE,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,CAAC,MAAM,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAkB,CAAC;gBAC/E,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC;gBACjF,IAAI,YAAY,CAAC,qBAAqB,EAAE,CAAC;oBACvC,OAAO,MAAM,YAAY,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,YAAY,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,qBAAqB,OAAO,4CAA4C,CAAC,CAAC;gBACzF,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,uCAAuC,CAAC,CAAC;YACtD,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACnE,YAAY,CAAC,aAAc,UAAU,CAAC,GAAiB,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,gCAAgC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;IACD,iHAAiH;IACjH,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE/F;;;;;;;;GAQG;AACH,SAAS,SAAS,CAChB,MAAqB,EACrB,MAA8B,EAC9B,IAAI,GAAG,EAAE;IAET,IAAI,CAAC,MAAM;QAAE,OAAO,MAAW,CAAC;IAChC,IAAI,CAAC,MAAM;QAAE,OAAO,MAAW,CAAC;IAEhC,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAEhD,IACE,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3B,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,CAAC;YACD,mCAAmC;YACnC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CACrB,WAAsC,EACtC,WAAsC,EACtC,SAAS,CACqB,CAAC;QACnC,CAAC;aAAM,IACL,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC1B,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC1B,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EACpC,CAAC;YACD,uFAAuF;YACvF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAC,CAAC,CAAgC,CAAC;QAC9F,CAAC;aAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,sEAAsE;YACtE,MAAM,CAAC,GAAG,CAAC,GAAG,WAA0C,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,gCAAgC,GAAG;IACvC,YAAY;IACZ,cAAc;IACd,cAAc;IACd,eAAe;CACP,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,SAAS,4BAA4B,CACnC,SAA6B,EAC7B,OAA6C,EAC7C,KAAwD;IAExD,MAAM,WAAW,GAAG,SAAS,CAAC,QAA+D,CAAC;IAC9F,MAAM,kBAAkB,GAAG,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,kBAAkB,KAAK,SAAS;QAAE,OAAO,kBAAkB,CAAC;IAEhE,MAAM,gBAAgB,GAAI,SAAqC,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,gBAAgB,CAAC;IAE5D,MAAM,iBAAiB,GAAI,cAAc,CAAC,QAAoD,CAC5F,OAAO,CACR,EAAE,CAAC,KAAK,CAAC,CAAC;IACX,IAAI,iBAAiB,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC;IAE9D,OAAQ,cAA0C,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,aAA8F,EAC9F,0BAAsD;IAEtD,MAAM,MAAM,GAAG,aAA0B,CAAC;IAE1C,uDAAuD;IACvD,kGAAkG;IAClG,MAAM,cAAc,GAA0B;QAC5C,EAAE,EAAE,SAAS,CACX,cAAc,CAAC,QAAQ,CAAC,EAA6B,EACrD,MAAM,EAAE,QAAQ,EAAE,EAAyC,CACrD,EAAE,yDAAyD;QACnE,MAAM,EAAE,SAAS,CACf,cAAc,CAAC,QAAQ,CAAC,MAAiC,EACzD,MAAM,EAAE,QAAQ,EAAE,MAA6C,CACzD,EAAE,yDAAyD;QACnE,IAAI,EAAE,SAAS,CACb,cAAc,CAAC,QAAQ,CAAC,IAA+B,EACvD,MAAM,EAAE,QAAQ,EAAE,IAA2C,CACvD,EAAE,yDAAyD;QACnE,IAAI,EAAE,SAAS,CACb,cAAc,CAAC,QAAQ,CAAC,IAA+B,EACvD,MAAM,EAAE,QAAQ,EAAE,IAA2C,CACvD,EAAE,yDAAyD;QACnE,GAAG,EAAE,SAAS,CACZ,cAAc,CAAC,QAAQ,CAAC,GAA8B,EACtD,MAAM,EAAE,QAAQ,EAAE,GAA0C,CACtD,EAAE,yDAAyD;QACnE,IAAI,EAAE,SAAS,CACb,cAAc,CAAC,QAAQ,CAAC,IAA+B,EACvD,MAAM,EAAE,QAAQ,EAAE,IAA2C,CACvD,EAAE,yDAAyD;QACnE,GAAG,EAAE,SAAS,CACZ,cAAc,CAAC,QAAQ,CAAC,GAA8B,EACtD,MAAM,EAAE,QAAQ,EAAE,GAA0C,CACtD,EAAE,yDAAyD;KACpE,CAAC;IAEF,gFAAgF;IAChF,+FAA+F;IAC/F,6FAA6F;IAC7F,iGAAiG;IACjG,iGAAiG;IACjG,4FAA4F;IAC5F,8FAA8F;IAC9F,+FAA+F;IAC/F,MAAM,cAAc,GAAG,cAAoE,CAAC;IAC5F,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,gCAAgC,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,4BAA4B,CAC3C,MAAM,EACN,OAA+C,EAC/C,KAAK,CACN,CAAC;YACF,0FAA0F;YAC1F,+EAA+E;YAC/E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,GAAG,cAAc;QACjB,GAAG,MAAM;QACT,QAAQ,EAAE,cAAc;KACzB,CAAC;IAEF,IAAI,0BAA0B,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC7D,WAAW,CAAC,uBAAuB,0BAA0B,CAAC,eAAe,EAAE,CAAC,CAAC;QACjF,YAAY,CAAC,eAAe,GAAG,0BAA0B,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACnF,CAAC;IAED,IAAI,0BAA0B,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC;IAChE,CAAC;IAED,IAAI,0BAA0B,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC/D,YAAY,CAAC,iBAAiB,GAAG,0BAA0B,CAAC,iBAAiB,CAAC;IAChF,CAAC;IAED,2FAA2F;IAC3F,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,YAAY,CAAC,YAAY,GAAG,oBAAoB,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,cAAc,CACZ,yBAAyB,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,oBAAoB,WAAW,CAAC,IAAI,GAAG,CAClG,CAAC;YACF,YAAY,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,YAAY,CAAC,4BAA4B,GAAG,YAAY,CAAC,4BAA4B,IAAI,KAAK,EAAE,CAAC;IAEjG,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,WAAW,CACxB,aAA8F,EAC9F,0BAAsD;IAEtD,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;IAE9E,0CAA0C;IAC1C,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,6BAA6B;IAC7B,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC5C,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,sBAAsB,GAAgC;IAC1D,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,MAAM,EAAE,WAAW,CAAC,MAAM;CAC3B,CAAC;AAEF,SAAS,mBAAmB,CAAC,KAAsC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,UAAU,IAAI,sBAAsB,EAAE,CAAC;YACzC,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAiC,CAAC,CAAC;QACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAA4B,CAAC;IACjF,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,CAA4B,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,8BAA8B;IAG3C,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,GAAG,QAAQ,WAAW,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO;oBACL,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,CAA4B;oBACjF,KAAK;iBACN,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,cAAc,CAAC,qCAAqC,QAAQ,gBAAgB,CAAC,CAAC;gBAC9E,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,EAAE,CAAC;QACzE,MAAM,UAAU,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBACtD,OAAO;oBACL,GAAG,EAAE,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,CAA4B;oBAC5D,KAAK,EAAE,GAAG,QAAQ,WAAW;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,cAAc,CAAC,qCAAqC,UAAU,gBAAgB,CAAC,CAAC;gBAChF,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAoCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,0BAAsD;IAEtD,MAAM,MAAM,GAAkC,EAAE,CAAC;IAEjD,6FAA6F;IAC7F,sFAAsF;IACtF,MAAM,UAAU,GAAG,qBAAqB,CAAC,0BAA0B,CAAC,CAAC;IACrE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAgC;YACzC,WAAW,EAAE,UAAU,CAAC,IAAI;YAC5B,GAAG,oBAAoB,CAAC,GAAG,CAAC;SAC7B,CAAC;QAEF,4FAA4F;QAC5F,6FAA6F;QAC7F,+FAA+F;QAC/F,+FAA+F;QAC/F,6FAA6F;QAC7F,+FAA+F;QAC/F,+FAA+F;QAC/F,iGAAiG;QACjG,IAAI,KAAK,CAAC,EAAE,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,GAAG,EAAE,0BAA0B,CAAC,eAAe,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,kBAAkB,EAAE,CAAC;oBACpC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC;oBACjB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,yFAAyF;IACzF,gGAAgG;IAChG,gGAAgG;IAChG,MAAM,SAAS,GAAG,MAAM,8BAA8B,EAAE,CAAC;IACzD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,6FAA6F;IAC7F,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AAClG,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,MAAoB,EACpB,GAAkB,EAClB,0BAAsD;IAEtD,MAAM,gBAAgB,GAAuB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;IAC/D,4FAA4F;IAC5F,+FAA+F;IAC/F,yFAAyF;IACzF,kGAAkG;IAClG,MAAM,iBAAiB,GAAuB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;IAC/D,OAAO,MAAM,WAAW,CACtB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,EACvD,0BAA0B,CAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { RawGthConfig } from '#src/config/types.js';
2
+ /**
3
+ * A profile name maps to a single directory segment under `.gsloth-settings/`, so it must be one
4
+ * safe path component: letters, digits, `.`, `_`, `-` only, and never `.`/`..` (which would escape
5
+ * or self-reference the settings dir). This is a create-time guard so a traversal-shaped name
6
+ * (`../evil`, `a/b`) can never write outside the profile tree.
7
+ */
8
+ export declare const PROFILE_NAME_RE: RegExp;
9
+ /** Fallback provider/model for a scaffold seeded from neither a current config nor `--model`. */
10
+ export declare const DEFAULT_SCAFFOLD_PROVIDER = "anthropic";
11
+ export declare const DEFAULT_SCAFFOLD_MODEL = "claude-sonnet-4-5";
12
+ /**
13
+ * Reject a profile name that is empty, `.`/`..`, or contains anything other than
14
+ * `[A-Za-z0-9._-]` (so it can never traverse out of `.gsloth-settings/`). Throws a clear error;
15
+ * returns the trimmed name on success.
16
+ */
17
+ export declare function validateProfileName(nameRaw: string): string;
18
+ /**
19
+ * The on-disk path a named profile's config is written to / discovered at:
20
+ * `<projectDir>/.gsloth/.gsloth-settings/<name>/.gsloth.config.json`. Resolved against
21
+ * {@link getProjectDir} so it matches the loader's read-side resolution.
22
+ */
23
+ export declare function resolveProfileConfigPath(name: string): string;
24
+ /**
25
+ * Options for seeding a scaffold. `seedType`/`seedModel` come from the current effective config
26
+ * (`modelProviderType` / `modelDisplayName`) when one resolves — present for JSON configs, absent
27
+ * for module (JS/MJS/TS) configs, which hand back an already-built LLM with no raw `type`. When
28
+ * neither seed nor {@link modelOverride} is available the scaffold falls back to the template
29
+ * defaults ({@link DEFAULT_SCAFFOLD_PROVIDER} / {@link DEFAULT_SCAFFOLD_MODEL}) so the written
30
+ * profile is always a valid, editable starting point.
31
+ */
32
+ export interface ProfileScaffoldSeed {
33
+ /** Provider `type` of the current config (`modelProviderType`), when resolvable. */
34
+ seedType?: string;
35
+ /** Model id of the current config (`modelDisplayName`), when resolvable. */
36
+ seedModel?: string;
37
+ /** `--model <id>` override — wins over the seeded/template model. */
38
+ modelOverride?: string;
39
+ }
40
+ /**
41
+ * Build a complete, standalone raw profile config: `{ llm: { type, model } }`. The provider `type`
42
+ * comes from the current config's provider when known, else the template default; the model comes
43
+ * from `--model`, else the current config's model, else the template default. Shape-only — the
44
+ * caller validates it against the schema before writing.
45
+ */
46
+ export declare function buildProfileScaffold(seed: ProfileScaffoldSeed): RawGthConfig;
47
+ /** Outcome of {@link createNamedProfile}: the resolved path the profile config was written to. */
48
+ export interface CreateProfileResult {
49
+ /** Absolute path of the written profile config. */
50
+ path: string;
51
+ /** The provider:model the scaffold was seeded with, for a confirmation message. */
52
+ llm: {
53
+ type: string;
54
+ model: string;
55
+ };
56
+ }
57
+ /**
58
+ * Scaffold a new named profile at {@link resolveProfileConfigPath}. Validates the name (no
59
+ * traversal), builds the scaffold ({@link buildProfileScaffold}), validates it against the GS2-1
60
+ * schema BEFORE writing (never writes an invalid profile), and refuses to clobber an existing
61
+ * profile unless `force`. Creates the `.gsloth/.gsloth-settings/<name>/` tree as needed so the
62
+ * loader's profile-discovery convention resolves it afterwards.
63
+ *
64
+ * @throws Error on an invalid name, an invalid scaffold, or an existing file without `force`.
65
+ */
66
+ export declare function createNamedProfile(nameRaw: string, seed: ProfileScaffoldSeed & {
67
+ force?: boolean;
68
+ }): CreateProfileResult;