@gaunt-sloth/core 2.0.0-alpha.11 → 2.0.0-alpha.12

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.
@@ -6,15 +6,22 @@
6
6
  * JSON Schema (`packages/core/schema/gsloth-config.schema.json`). It models the
7
7
  * canonical config shape only — the deprecated aliases (`contentProvider`,
8
8
  * `requirementsProvider`, `contentProviderConfig`, `requirementsProviderConfig`)
9
- * are intentionally NOT part of the schema. The loader maps those one-way to the
10
- * canonical names ({@link preMapDeprecatedConfigNames}) BEFORE validating, so by
11
- * the time a config reaches the schema it only uses canonical names.
9
+ * are intentionally NOT part of the schema. GS2-28 (a 2.0 breaking release with NO
10
+ * back-compat coercion) turns those deprecated shapes into HARD validation errors:
11
+ * {@link findDeprecatedConfigIssues} detects them on the raw input BEFORE the schema
12
+ * parse and each entry point (loader `validateRawConfigLayer`, read-side
13
+ * {@link validateRawGthConfig}) rejects the config with a message naming the canonical
14
+ * replacement + migration path. Detection runs on the RAW input on purpose: zod's
15
+ * per-command `z.object` strips unknown keys, so a nested `commands.*.contentProvider`
16
+ * would vanish before any schema-embedded check could see it.
12
17
  *
13
18
  * Design notes:
14
19
  * - The top-level object is a {@link z.looseObject} so unknown keys PASS THROUGH
15
20
  * (they are neither stripped nor a hard failure). The loader separately diffs
16
21
  * present-vs-known top-level keys ({@link findUnknownTopLevelKeys}) to warn about
17
- * likely typos without failing.
22
+ * likely typos without failing. That typo-tolerance is deliberate: only the KNOWN
23
+ * deprecated names ({@link findDeprecatedConfigIssues}) hard-fail; a genuine typo
24
+ * (e.g. `pulrequest`) still only warns.
18
25
  * - Every field is optional. The schema validates the *shape/type of what is
19
26
  * present*, not requiredness. In particular `llm` is optional so the loader's
20
27
  * existing "must at least define llm.type" checks remain the authority on llm
@@ -72,30 +79,37 @@ const shellJudgeSchema = z.union([
72
79
  model: llmConfigSchema.optional(),
73
80
  }),
74
81
  ]);
75
- const shellConfigSchema = z.union([
76
- z.boolean(),
77
- z.object({
78
- enabled: z.boolean().optional(),
79
- timeout: z.number().optional(),
80
- maxOutputBytes: z.number().optional(),
81
- allowlist: z.boolean().optional(),
82
- persistAllowlist: z.boolean().optional(),
83
- judge: shellJudgeSchema.optional(),
84
- }),
85
- ]);
86
- const devToolsConfigSchema = z.object({
87
- run_tests: z.string().optional(),
88
- run_lint: z.string().optional(),
89
- run_build: z.string().optional(),
90
- run_single_test: z.string().optional(),
91
- shell: shellConfigSchema.optional(),
92
- shellYolo: z.boolean().optional(),
82
+ /**
83
+ * CFG-18 — the per-tool config object carried as a value in the widened `builtInTools` registry.
84
+ * One permissive shape covering every tool: `command` for the fixed dev-command tools
85
+ * (run_tests/run_lint/run_build/run_single_test), the EXT-9/10/12 knobs for `run_shell_command`
86
+ * (`yolo` is the folded former `shellYolo`), and `enabled` for a plain built-in tool.
87
+ */
88
+ const builtInToolConfigSchema = z.object({
89
+ enabled: z.boolean().optional(),
90
+ command: z.string().optional(),
91
+ timeout: z.number().optional(),
92
+ maxOutputBytes: z.number().optional(),
93
+ allowlist: z.boolean().optional(),
94
+ persistAllowlist: z.boolean().optional(),
95
+ judge: shellJudgeSchema.optional(),
96
+ yolo: z.boolean().optional(),
93
97
  });
98
+ /**
99
+ * CFG-18 — the widened `builtInTools` setting: either the legacy `string[]` (each name enabled) or
100
+ * a registry keyed by tool name whose values enable (`true`), force-disable (`false`), or configure
101
+ * ({@link builtInToolConfigSchema}) each tool. Replaces `builtInTools: string[]` + per-command
102
+ * `devTools`.
103
+ */
104
+ const builtInToolsSchema = z.union([
105
+ z.array(z.string()),
106
+ z.record(z.string(), z.union([z.boolean(), builtInToolConfigSchema])),
107
+ ]);
94
108
  const prCommandSchema = z.object({
95
109
  contentSource: z.string().optional(),
96
110
  requirementSource: z.string().optional(),
97
111
  filesystem: filesystemSchema.optional(),
98
- builtInTools: z.array(z.string()).optional(),
112
+ builtInTools: builtInToolsSchema.optional(),
99
113
  customTools: customToolsOrFalseSchema.optional(),
100
114
  allowedTools: z.array(z.string()).optional(),
101
115
  logWorkForReviewInSeconds: z.number().optional(),
@@ -106,7 +120,7 @@ const reviewCommandSchema = z.object({
106
120
  contentSource: z.string().optional(),
107
121
  requirementSource: z.string().optional(),
108
122
  filesystem: filesystemSchema.optional(),
109
- builtInTools: z.array(z.string()).optional(),
123
+ builtInTools: builtInToolsSchema.optional(),
110
124
  customTools: customToolsOrFalseSchema.optional(),
111
125
  allowedTools: z.array(z.string()).optional(),
112
126
  rating: ratingConfigSchema.optional(),
@@ -114,38 +128,35 @@ const reviewCommandSchema = z.object({
114
128
  });
115
129
  const askCommandSchema = z.object({
116
130
  filesystem: filesystemSchema.optional(),
117
- builtInTools: z.array(z.string()).optional(),
131
+ builtInTools: builtInToolsSchema.optional(),
118
132
  customTools: customToolsOrFalseSchema.optional(),
119
133
  allowedTools: z.array(z.string()).optional(),
120
- devTools: devToolsConfigSchema.optional(),
121
134
  binaryFormats: binaryFormatsSchema.optional(),
122
135
  });
123
136
  const chatCommandSchema = z.object({
124
137
  filesystem: filesystemSchema.optional(),
125
- builtInTools: z.array(z.string()).optional(),
138
+ builtInTools: builtInToolsSchema.optional(),
126
139
  customTools: customToolsOrFalseSchema.optional(),
127
140
  allowedTools: z.array(z.string()).optional(),
128
141
  binaryFormats: binaryFormatsSchema.optional(),
129
142
  });
130
143
  const codeCommandSchema = z.object({
131
144
  filesystem: filesystemSchema.optional(),
132
- builtInTools: z.array(z.string()).optional(),
145
+ builtInTools: builtInToolsSchema.optional(),
133
146
  customTools: customToolsOrFalseSchema.optional(),
134
147
  allowedTools: z.array(z.string()).optional(),
135
- devTools: devToolsConfigSchema.optional(),
136
148
  binaryFormats: binaryFormatsSchema.optional(),
137
149
  });
138
150
  const execCommandSchema = z.object({
139
151
  filesystem: filesystemSchema.optional(),
140
- builtInTools: z.array(z.string()).optional(),
152
+ builtInTools: builtInToolsSchema.optional(),
141
153
  customTools: customToolsOrFalseSchema.optional(),
142
154
  allowedTools: z.array(z.string()).optional(),
143
- devTools: devToolsConfigSchema.optional(),
144
155
  binaryFormats: binaryFormatsSchema.optional(),
145
156
  });
146
157
  const apiCommandSchema = z.object({
147
158
  filesystem: filesystemSchema.optional(),
148
- builtInTools: z.array(z.string()).optional(),
159
+ builtInTools: builtInToolsSchema.optional(),
149
160
  port: z.number().optional(),
150
161
  cors: z
151
162
  .object({
@@ -164,6 +175,14 @@ const commandsSchema = z.object({
164
175
  exec: execCommandSchema.optional(),
165
176
  api: apiCommandSchema.optional(),
166
177
  });
178
+ /**
179
+ * The command names, derived from {@link commandsSchema}'s own shape so it can never drift
180
+ * from the schema. A command config must live under `commands.<cmd>`; the SAME name appearing
181
+ * at the config ROOT is the removed pre-2.0 top-level shape and is hard-rejected by
182
+ * {@link findDeprecatedConfigIssues}. (None of these are valid top-level keys, so there is no
183
+ * collision with {@link KNOWN_TOP_LEVEL_KEYS}.)
184
+ */
185
+ const COMMAND_KEYS = Object.keys(commandsSchema.shape);
167
186
  /**
168
187
  * Zod schema for the raw, on-disk Gaunt Sloth config. Loose at the top level so
169
188
  * unknown keys are preserved (warn-only via {@link findUnknownTopLevelKeys}).
@@ -213,7 +232,7 @@ export const rawGthConfigSchema = z.looseObject({
213
232
  projectReviewInstructions: z.string().optional(),
214
233
  noDefaultPrompts: z.boolean().optional(),
215
234
  filesystem: filesystemSchema.optional(),
216
- builtInTools: z.array(z.string()).optional(),
235
+ builtInTools: builtInToolsSchema.optional(),
217
236
  // Live tool instances / toolkits in JS configs — kept permissive.
218
237
  tools: z.array(z.unknown()).optional(),
219
238
  allowedTools: z.array(z.string()).optional(),
@@ -248,70 +267,149 @@ export const rawGthConfigSchema = z.looseObject({
248
267
  * never drift from {@link rawGthConfigSchema}. Includes `$schema`.
249
268
  */
250
269
  export const KNOWN_TOP_LEVEL_KEYS = new Set(Object.keys(rawGthConfigSchema.shape));
270
+ /**
271
+ * True when a raw config value is a plain (non-null, non-array) object, so the key scans
272
+ * ({@link findDeprecatedConfigIssues}, {@link findUnknownTopLevelKeys}) are safe to run. A
273
+ * `null`/array/primitive config (e.g. a JSON file that is just `null`, or a module
274
+ * `configure()` returning null) must NOT reach those scans — they'd throw on
275
+ * `hasOwnProperty`/`Object.keys`; the entry points instead hand it straight to
276
+ * `rawGthConfigSchema.safeParse`, which reports a clean "expected object" error.
277
+ */
278
+ export function isRecordConfig(value) {
279
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
280
+ }
251
281
  /**
252
282
  * Return the top-level keys present in `raw` that are not part of the known config
253
- * surface. Deprecated aliases should be pre-mapped away first (see
254
- * {@link preMapDeprecatedConfigNames}) so they do not show up here.
283
+ * surface. KNOWN deprecated names are rejected earlier by {@link findDeprecatedConfigIssues}
284
+ * (the entry points short-circuit on those), so a key that reaches here is a genuinely
285
+ * unknown key (a likely typo) that only warrants a warning.
255
286
  */
256
287
  export function findUnknownTopLevelKeys(raw) {
257
288
  return Object.keys(raw).filter((key) => !KNOWN_TOP_LEVEL_KEYS.has(key));
258
289
  }
290
+ /**
291
+ * Render ` - <path>: <message>` lines (one per issue), with `(root)` for an empty
292
+ * path. Shared by {@link formatConfigValidationError} (Zod issues) and
293
+ * {@link formatDeprecatedConfigIssues} (deprecated-shape issues) so both surfaces read
294
+ * identically.
295
+ */
296
+ function formatIssueLines(issues) {
297
+ return issues.map((issue) => ` - ${issue.path || '(root)'}: ${issue.message}`).join('\n');
298
+ }
259
299
  /**
260
300
  * Render a friendly, path-scoped validation message from a Zod error. Each issue
261
301
  * becomes a line ` - <path>: <message>`, with `(root)` for top-level issues.
262
302
  */
263
303
  export function formatConfigValidationError(error) {
264
- return error.issues
265
- .map((issue) => {
266
- const path = issue.path.length > 0 ? issue.path.join('.') : '(root)';
267
- return ` - ${path}: ${issue.message}`;
268
- })
269
- .join('\n');
304
+ return formatIssueLines(error.issues.map((issue) => ({
305
+ path: issue.path.length > 0 ? issue.path.join('.') : '',
306
+ message: issue.message,
307
+ })));
270
308
  }
271
- /** Deprecated → canonical key pairs at the config root. */
309
+ /** Deprecated → canonical key pairs at the config root (SSOT for the rejecter). */
272
310
  const DEPRECATED_ROOT_PAIRS = [
273
311
  ['contentProvider', 'contentSource'],
274
312
  ['requirementsProvider', 'requirementSource'],
275
313
  ['contentProviderConfig', 'contentSourceConfig'],
276
314
  ['requirementsProviderConfig', 'requirementSourceConfig'],
277
315
  ];
278
- /** Deprecated → canonical key pairs inside a `commands.<name>` block. */
316
+ /** Deprecated → canonical key pairs inside a `commands.<name>` block (SSOT for the rejecter). */
279
317
  const DEPRECATED_COMMAND_PAIRS = [
280
318
  ['contentProvider', 'contentSource'],
281
319
  ['requirementsProvider', 'requirementSource'],
282
320
  ];
283
- function remapDeprecated(obj, pairs, scope, warnings) {
284
- for (const [deprecated, canonical] of pairs) {
285
- if (Object.prototype.hasOwnProperty.call(obj, deprecated)) {
286
- warnings.push(`Config property "${deprecated}"${scope} is deprecated. Use "${canonical}" instead.`);
287
- // Canonical wins when both are present; otherwise adopt the deprecated value.
288
- if (obj[canonical] === undefined) {
289
- obj[canonical] = obj[deprecated];
290
- }
291
- delete obj[deprecated];
292
- }
293
- }
294
- }
295
321
  /**
296
- * B3one-way pre-map of deprecated config key names to their canonical names, at
297
- * the config root AND per-command. Mutates `raw` in place (it is always a freshly
298
- * loaded config layer) and returns it alongside a list of deprecation warnings the
299
- * caller should emit via `displayWarning`. Canonical names win when both are
300
- * present; the deprecated key is always removed so it does not later surface as an
301
- * "unknown top-level key".
322
+ * CFG-18removed per-command keys with no 1:1 rename: the config they carried was FOLDED into
323
+ * another key. `[removed, replacement]`. `devTools` (the split dev/shell config) is now configured
324
+ * under the unified `builtInTools` registry. Rejected here specifically because `devTools` lived
325
+ * under a per-command `z.object`, which SILENTLY STRIPS unknown keys — so without this pre-parse
326
+ * reject an old `commands.<cmd>.devTools` block would vanish with no error (worse than today).
302
327
  */
303
- export function preMapDeprecatedConfigNames(raw) {
304
- const warnings = [];
305
- remapDeprecated(raw, DEPRECATED_ROOT_PAIRS, '', warnings);
328
+ const REMOVED_COMMAND_KEYS = [
329
+ ['devTools', 'builtInTools'],
330
+ ];
331
+ /**
332
+ * Pointer to the migration path, appended to every deprecated-shape error so the user
333
+ * always learns HOW to fix it, not just that it broke. Matches the guidance the 2.0
334
+ * migration notes carry.
335
+ */
336
+ const MIGRATION_HINT = 'See the 2.0 migration notes (or run `gth config migrate` / `gth doctor --fix`).';
337
+ /**
338
+ * GS2-28 — detect the removed pre-2.0 config shapes on the RAW input (read-only; no
339
+ * mutation), returning one {@link DeprecatedConfigIssue} per occurrence. A non-empty
340
+ * result is a HARD validation failure: 2.0 dropped back-compat coercion, so an old shape
341
+ * must error and point at the fix rather than be silently remapped or ignored.
342
+ *
343
+ * Detects:
344
+ * - (A) a COMMAND name ({@link COMMAND_KEYS}) at the config ROOT — must move under `commands.<cmd>`;
345
+ * - (C) a deprecated `*Provider*` name ({@link DEPRECATED_ROOT_PAIRS} at root,
346
+ * {@link DEPRECATED_COMMAND_PAIRS} per command) — must use its `*Source*` replacement;
347
+ * - (D, CFG-18) a removed per-command key folded into another ({@link REMOVED_COMMAND_KEYS}, e.g.
348
+ * `commands.<cmd>.devTools` → configure under `builtInTools`).
349
+ *
350
+ * Runs on the raw input specifically so nested `commands.*.contentProvider` is still visible
351
+ * (zod's per-command `z.object` would strip it before any schema-embedded check could fire).
352
+ * A genuinely-unknown key is NOT flagged here (it stays a warn-only unknown key), preserving
353
+ * the deliberate typo-tolerance.
354
+ */
355
+ export function findDeprecatedConfigIssues(raw) {
356
+ const issues = [];
357
+ // (A) Command name used as a top-level key — command configs must live under commands.<cmd>.
358
+ for (const command of COMMAND_KEYS) {
359
+ if (Object.prototype.hasOwnProperty.call(raw, command)) {
360
+ issues.push({
361
+ path: command,
362
+ message: `Top-level command config "${command}" is no longer supported in 2.0. ` +
363
+ `Move it under "commands.${command}". ${MIGRATION_HINT}`,
364
+ });
365
+ }
366
+ }
367
+ // (C) Deprecated *Provider* names at the config root.
368
+ for (const [deprecated, canonical] of DEPRECATED_ROOT_PAIRS) {
369
+ if (Object.prototype.hasOwnProperty.call(raw, deprecated)) {
370
+ issues.push({
371
+ path: deprecated,
372
+ message: `Config property "${deprecated}" was renamed in 2.0. Use "${canonical}" instead. ` +
373
+ MIGRATION_HINT,
374
+ });
375
+ }
376
+ }
377
+ // (C) Deprecated *Provider* names + (CFG-18) removed keys inside each commands.<name> block.
306
378
  const commands = raw.commands;
307
- if (commands && typeof commands === 'object') {
379
+ if (commands && typeof commands === 'object' && !Array.isArray(commands)) {
308
380
  for (const [name, cmd] of Object.entries(commands)) {
309
- if (cmd && typeof cmd === 'object') {
310
- remapDeprecated(cmd, DEPRECATED_COMMAND_PAIRS, ` in commands.${name}`, warnings);
381
+ if (cmd && typeof cmd === 'object' && !Array.isArray(cmd)) {
382
+ for (const [deprecated, canonical] of DEPRECATED_COMMAND_PAIRS) {
383
+ if (Object.prototype.hasOwnProperty.call(cmd, deprecated)) {
384
+ issues.push({
385
+ path: `commands.${name}.${deprecated}`,
386
+ message: `Config property "${deprecated}" in commands.${name} was renamed in 2.0. ` +
387
+ `Use "${canonical}" instead. ${MIGRATION_HINT}`,
388
+ });
389
+ }
390
+ }
391
+ // (CFG-18) removed per-command keys folded into another key (e.g. devTools → builtInTools).
392
+ for (const [removed, replacement] of REMOVED_COMMAND_KEYS) {
393
+ if (Object.prototype.hasOwnProperty.call(cmd, removed)) {
394
+ issues.push({
395
+ path: `commands.${name}.${removed}`,
396
+ message: `Config property "${removed}" in commands.${name} is no longer supported in 2.0. ` +
397
+ `Configure tools under "${replacement}" instead. ${MIGRATION_HINT}`,
398
+ });
399
+ }
400
+ }
311
401
  }
312
402
  }
313
403
  }
314
- return { config: raw, warnings };
404
+ return issues;
405
+ }
406
+ /**
407
+ * Render {@link DeprecatedConfigIssue}s as the same ` - <path>: <message>` block used for
408
+ * Zod validation errors, so a deprecated-shape rejection reads identically to a type-mismatch
409
+ * rejection (loader wraps it with `Invalid configuration in <source>:`).
410
+ */
411
+ export function formatDeprecatedConfigIssues(issues) {
412
+ return formatIssueLines(issues);
315
413
  }
316
414
  /**
317
415
  * Generate the JSON Schema for the raw config from {@link rawGthConfigSchema} using
@@ -324,23 +422,36 @@ export function generateConfigJsonSchema() {
324
422
  /**
325
423
  * Validate a freshly-loaded raw config object against {@link rawGthConfigSchema} and
326
424
  * report the outcome as data (a pure function — no `displayWarning`/`exit`). Mirrors the
327
- * loader's policy: deprecated key names are pre-mapped (each yielding a warning), unknown
328
- * top-level keys warn but do not fail, and a genuine type mismatch on a known field fails
329
- * with a path-scoped message.
425
+ * loader's policy: a removed pre-2.0 shape (a top-level command key or a deprecated
426
+ * `*Provider*` name) is a HARD failure that names the fix, unknown top-level keys warn but
427
+ * do not fail, and a genuine type mismatch on a known field fails with a path-scoped message.
330
428
  *
331
- * A shallow copy is taken before the (mutating) deprecated-name pre-map so the caller's
332
- * top-level object is not modified.
429
+ * Read-only: `findDeprecatedConfigIssues`, `findUnknownTopLevelKeys` and `safeParse` never
430
+ * mutate `raw`, so no defensive copy is needed.
333
431
  */
334
432
  export function validateRawGthConfig(raw) {
335
433
  const warnings = [];
336
- const { config, warnings: deprecationWarnings } = preMapDeprecatedConfigNames({ ...raw });
337
- warnings.push(...deprecationWarnings);
338
- const unknownKeys = findUnknownTopLevelKeys(config);
339
- if (unknownKeys.length > 0) {
340
- warnings.push(`Unknown top-level config ${unknownKeys.length === 1 ? 'key' : 'keys'}: ` +
341
- `${unknownKeys.join(', ')} (kept as-is but ignored by Gaunt Sloth; check for typos).`);
434
+ // Only an object config can carry deprecated/unknown keys. A null/array/primitive config is
435
+ // handed straight to safeParse (below), which returns a clean "expected object" failure — the
436
+ // scans would otherwise throw a raw TypeError, and coercing to {} would wrongly report ok:true.
437
+ if (isRecordConfig(raw)) {
438
+ // Removed pre-2.0 shapes short-circuit before the unknown-key warning: any deprecated name
439
+ // present is hard-rejected here (and so never doubles as an unknown-key warning).
440
+ const deprecatedIssues = findDeprecatedConfigIssues(raw);
441
+ if (deprecatedIssues.length > 0) {
442
+ return {
443
+ ok: false,
444
+ warnings: [],
445
+ errorMessage: formatDeprecatedConfigIssues(deprecatedIssues),
446
+ };
447
+ }
448
+ const unknownKeys = findUnknownTopLevelKeys(raw);
449
+ if (unknownKeys.length > 0) {
450
+ warnings.push(`Unknown top-level config ${unknownKeys.length === 1 ? 'key' : 'keys'}: ` +
451
+ `${unknownKeys.join(', ')} (kept as-is but ignored by Gaunt Sloth; check for typos).`);
452
+ }
342
453
  }
343
- const result = rawGthConfigSchema.safeParse(config);
454
+ const result = rawGthConfigSchema.safeParse(raw);
344
455
  if (!result.success) {
345
456
  return { ok: false, warnings, errorMessage: formatConfigValidationError(result.error) };
346
457
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}