@gaunt-sloth/core 2.0.0-alpha.0 → 2.0.0-alpha.10

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 (114) hide show
  1. package/.gsloth.code.md +10 -0
  2. package/LICENSE +7 -0
  3. package/README.md +3 -4
  4. package/dist/config/defaults.d.ts +85 -0
  5. package/dist/config/defaults.js +101 -0
  6. package/dist/config/defaults.js.map +1 -0
  7. package/dist/config/jsonc.d.ts +12 -0
  8. package/dist/config/jsonc.js +41 -0
  9. package/dist/config/jsonc.js.map +1 -0
  10. package/dist/config/loader.d.ts +109 -0
  11. package/dist/config/loader.js +663 -0
  12. package/dist/config/loader.js.map +1 -0
  13. package/dist/config/schema.d.ts +509 -0
  14. package/dist/config/schema.js +349 -0
  15. package/dist/config/schema.js.map +1 -0
  16. package/dist/config/shell-policy.d.ts +212 -0
  17. package/dist/config/shell-policy.js +142 -0
  18. package/dist/config/shell-policy.js.map +1 -0
  19. package/dist/config/types.d.ts +490 -0
  20. package/dist/config/types.js +12 -0
  21. package/dist/config/types.js.map +1 -0
  22. package/dist/config.d.ts +18 -647
  23. package/dist/config.js +15 -516
  24. package/dist/config.js.map +1 -1
  25. package/dist/constants.d.ts +24 -0
  26. package/dist/constants.js +24 -0
  27. package/dist/constants.js.map +1 -1
  28. package/dist/core/GthAbstractAgent.d.ts +57 -1
  29. package/dist/core/GthAbstractAgent.js +171 -4
  30. package/dist/core/GthAbstractAgent.js.map +1 -1
  31. package/dist/core/GthAgentRunner.d.ts +168 -1
  32. package/dist/core/GthAgentRunner.js +380 -4
  33. package/dist/core/GthAgentRunner.js.map +1 -1
  34. package/dist/core/GthLangChainAgent.js +94 -5
  35. package/dist/core/GthLangChainAgent.js.map +1 -1
  36. package/dist/core/debugCapture.d.ts +59 -0
  37. package/dist/core/debugCapture.js +101 -0
  38. package/dist/core/debugCapture.js.map +1 -0
  39. package/dist/core/gthLeanAgentFactory.d.ts +9 -0
  40. package/dist/core/gthLeanAgentFactory.js +10 -0
  41. package/dist/core/gthLeanAgentFactory.js.map +1 -0
  42. package/dist/core/runStats.d.ts +41 -0
  43. package/dist/core/runStats.js +73 -0
  44. package/dist/core/runStats.js.map +1 -0
  45. package/dist/core/shell/ShellCommandFailedError.d.ts +54 -0
  46. package/dist/core/shell/ShellCommandFailedError.js +68 -0
  47. package/dist/core/shell/ShellCommandFailedError.js.map +1 -0
  48. package/dist/core/shell/allowlist.d.ts +75 -0
  49. package/dist/core/shell/allowlist.js +187 -0
  50. package/dist/core/shell/allowlist.js.map +1 -0
  51. package/dist/core/shell/arity.d.ts +75 -0
  52. package/dist/core/shell/arity.js +313 -0
  53. package/dist/core/shell/arity.js.map +1 -0
  54. package/dist/core/shell/judge.d.ts +161 -0
  55. package/dist/core/shell/judge.js +261 -0
  56. package/dist/core/shell/judge.js.map +1 -0
  57. package/dist/core/shell/normalize.d.ts +27 -0
  58. package/dist/core/shell/normalize.js +53 -0
  59. package/dist/core/shell/normalize.js.map +1 -0
  60. package/dist/core/types.d.ts +104 -0
  61. package/dist/core/types.js.map +1 -1
  62. package/dist/history/historyFormat.d.ts +19 -0
  63. package/dist/history/historyFormat.js +85 -0
  64. package/dist/history/historyFormat.js.map +1 -0
  65. package/dist/history/historyStore.d.ts +121 -0
  66. package/dist/history/historyStore.js +315 -0
  67. package/dist/history/historyStore.js.map +1 -0
  68. package/dist/history/recordSession.d.ts +28 -0
  69. package/dist/history/recordSession.js +29 -0
  70. package/dist/history/recordSession.js.map +1 -0
  71. package/dist/index.d.ts +4 -0
  72. package/dist/index.js +4 -0
  73. package/dist/index.js.map +1 -1
  74. package/dist/providers/anthropic.d.ts +1 -1
  75. package/dist/providers/anthropic.js +5 -10
  76. package/dist/providers/anthropic.js.map +1 -1
  77. package/dist/providers/deepseek.d.ts +1 -1
  78. package/dist/providers/deepseek.js +5 -10
  79. package/dist/providers/deepseek.js.map +1 -1
  80. package/dist/providers/google-genai.d.ts +1 -1
  81. package/dist/providers/google-genai.js +5 -10
  82. package/dist/providers/google-genai.js.map +1 -1
  83. package/dist/providers/groq.d.ts +1 -1
  84. package/dist/providers/groq.js +5 -10
  85. package/dist/providers/groq.js.map +1 -1
  86. package/dist/providers/modelDiscovery.d.ts +54 -1
  87. package/dist/providers/modelDiscovery.js +106 -8
  88. package/dist/providers/modelDiscovery.js.map +1 -1
  89. package/dist/providers/ollama.d.ts +1 -1
  90. package/dist/providers/ollama.js +5 -15
  91. package/dist/providers/ollama.js.map +1 -1
  92. package/dist/providers/openai.d.ts +1 -1
  93. package/dist/providers/openai.js +5 -10
  94. package/dist/providers/openai.js.map +1 -1
  95. package/dist/providers/openrouter.d.ts +1 -1
  96. package/dist/providers/openrouter.js +7 -12
  97. package/dist/providers/openrouter.js.map +1 -1
  98. package/dist/providers/vertexai.d.ts +1 -1
  99. package/dist/providers/vertexai.js +5 -10
  100. package/dist/providers/vertexai.js.map +1 -1
  101. package/dist/providers/xai.d.ts +1 -1
  102. package/dist/providers/xai.js +5 -10
  103. package/dist/providers/xai.js.map +1 -1
  104. package/dist/runtime/singleShot.d.ts +5 -2
  105. package/dist/runtime/singleShot.js +36 -3
  106. package/dist/runtime/singleShot.js.map +1 -1
  107. package/dist/utils/fileUtils.d.ts +24 -2
  108. package/dist/utils/fileUtils.js +54 -12
  109. package/dist/utils/fileUtils.js.map +1 -1
  110. package/dist/utils/systemUtils.d.ts +31 -0
  111. package/dist/utils/systemUtils.js +38 -0
  112. package/dist/utils/systemUtils.js.map +1 -1
  113. package/package.json +16 -11
  114. package/schema/gsloth-config.schema.json +1579 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,509 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * Zod schema for the on-disk raw Gaunt Sloth config (`RawGthConfig`).
4
+ *
5
+ * This is the single source of truth for config validation and for the generated
6
+ * JSON Schema (`packages/core/schema/gsloth-config.schema.json`). It models the
7
+ * canonical config shape only — the deprecated aliases (`contentProvider`,
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.
12
+ *
13
+ * Design notes:
14
+ * - The top-level object is a {@link z.looseObject} so unknown keys PASS THROUGH
15
+ * (they are neither stripped nor a hard failure). The loader separately diffs
16
+ * present-vs-known top-level keys ({@link findUnknownTopLevelKeys}) to warn about
17
+ * likely typos without failing.
18
+ * - Every field is optional. The schema validates the *shape/type of what is
19
+ * present*, not requiredness. In particular `llm` is optional so the loader's
20
+ * existing "must at least define llm.type" checks remain the authority on llm
21
+ * validity (and keep emitting their established messages).
22
+ * - Runtime-object-bearing fields (`tools`, `middleware`, `mcpServers`,
23
+ * `a2aAgents`, `builtInToolsConfig`) are modelled permissively because JS/MJS
24
+ * `configure()` returns live instances/objects there.
25
+ *
26
+ * The exported {@link RawGthConfig}/{@link GthConfig} interfaces in `config.ts`
27
+ * remain the public type surface; the `z.infer` here ({@link RawGthConfigInput})
28
+ * is additive and legitimately differs (no deprecated fields).
29
+ */
30
+ import { z } from 'zod';
31
+ /**
32
+ * Zod schema for the raw, on-disk Gaunt Sloth config. Loose at the top level so
33
+ * unknown keys are preserved (warn-only via {@link findUnknownTopLevelKeys}).
34
+ */
35
+ export declare const rawGthConfigSchema: z.ZodObject<{
36
+ $schema: z.ZodOptional<z.ZodString>;
37
+ llm: z.ZodOptional<z.ZodObject<{
38
+ type: z.ZodOptional<z.ZodString>;
39
+ model: z.ZodOptional<z.ZodString>;
40
+ configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
+ apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$loose>>;
43
+ agent: z.ZodOptional<z.ZodObject<{
44
+ backend: z.ZodOptional<z.ZodEnum<{
45
+ deep: "deep";
46
+ lean: "lean";
47
+ }>>;
48
+ }, z.core.$strip>>;
49
+ history: z.ZodOptional<z.ZodObject<{
50
+ enabled: z.ZodOptional<z.ZodBoolean>;
51
+ dbPath: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>>;
53
+ memory: z.ZodOptional<z.ZodObject<{
54
+ enabled: z.ZodOptional<z.ZodBoolean>;
55
+ }, z.core.$strip>>;
56
+ binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
57
+ type: z.ZodEnum<{
58
+ binary: "binary";
59
+ image: "image";
60
+ audio: "audio";
61
+ video: "video";
62
+ file: "file";
63
+ }>;
64
+ extensions: z.ZodArray<z.ZodString>;
65
+ maxSize: z.ZodOptional<z.ZodNumber>;
66
+ mimeTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
67
+ }, z.core.$strip>>]>>;
68
+ contentSource: z.ZodOptional<z.ZodString>;
69
+ requirementSource: z.ZodOptional<z.ZodString>;
70
+ contentSourceConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
71
+ requirementSourceConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
72
+ projectGuidelines: z.ZodOptional<z.ZodString>;
73
+ identityProfile: z.ZodOptional<z.ZodString>;
74
+ includeCurrentDateAfterGuidelines: z.ZodOptional<z.ZodBoolean>;
75
+ organization: z.ZodOptional<z.ZodObject<{
76
+ name: z.ZodOptional<z.ZodString>;
77
+ locale: z.ZodOptional<z.ZodString>;
78
+ timezone: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>>;
80
+ projectReviewInstructions: z.ZodOptional<z.ZodString>;
81
+ noDefaultPrompts: z.ZodOptional<z.ZodBoolean>;
82
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
83
+ all: "all";
84
+ read: "read";
85
+ none: "none";
86
+ }>]>>;
87
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
88
+ tools: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
89
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ middleware: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
91
+ streamOutput: z.ZodOptional<z.ZodBoolean>;
92
+ writeOutputToFile: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
93
+ writeBinaryOutputsToFile: z.ZodOptional<z.ZodBoolean>;
94
+ useColour: z.ZodOptional<z.ZodBoolean>;
95
+ streamSessionInferenceLog: z.ZodOptional<z.ZodBoolean>;
96
+ canInterruptInferenceWithEsc: z.ZodOptional<z.ZodBoolean>;
97
+ debugLog: z.ZodOptional<z.ZodBoolean>;
98
+ recursionLimit: z.ZodOptional<z.ZodNumber>;
99
+ consoleLevel: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
100
+ customTools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
101
+ command: z.ZodString;
102
+ description: z.ZodString;
103
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
104
+ description: z.ZodString;
105
+ allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
106
+ "absolute-paths": "absolute-paths";
107
+ "directory-traversal": "directory-traversal";
108
+ "shell-injection": "shell-injection";
109
+ "null-bytes": "null-bytes";
110
+ }>>>;
111
+ }, z.core.$strip>>>;
112
+ timeout: z.ZodOptional<z.ZodNumber>;
113
+ }, z.core.$strip>>>;
114
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
115
+ a2aAgents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
116
+ builtInToolsConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
117
+ aiignore: z.ZodOptional<z.ZodObject<{
118
+ enabled: z.ZodOptional<z.ZodBoolean>;
119
+ patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
+ }, z.core.$strip>>;
121
+ commands: z.ZodOptional<z.ZodObject<{
122
+ pr: z.ZodOptional<z.ZodObject<{
123
+ contentSource: z.ZodOptional<z.ZodString>;
124
+ requirementSource: z.ZodOptional<z.ZodString>;
125
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
126
+ all: "all";
127
+ read: "read";
128
+ none: "none";
129
+ }>]>>;
130
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
131
+ customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
132
+ command: z.ZodString;
133
+ description: z.ZodString;
134
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
135
+ description: z.ZodString;
136
+ allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
137
+ "absolute-paths": "absolute-paths";
138
+ "directory-traversal": "directory-traversal";
139
+ "shell-injection": "shell-injection";
140
+ "null-bytes": "null-bytes";
141
+ }>>>;
142
+ }, z.core.$strip>>>;
143
+ timeout: z.ZodOptional<z.ZodNumber>;
144
+ }, z.core.$strip>>]>>;
145
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
146
+ logWorkForReviewInSeconds: z.ZodOptional<z.ZodNumber>;
147
+ rating: z.ZodOptional<z.ZodObject<{
148
+ enabled: z.ZodOptional<z.ZodBoolean>;
149
+ passThreshold: z.ZodOptional<z.ZodNumber>;
150
+ maxRating: z.ZodOptional<z.ZodNumber>;
151
+ minRating: z.ZodOptional<z.ZodNumber>;
152
+ errorOnReviewFail: z.ZodOptional<z.ZodBoolean>;
153
+ }, z.core.$strip>>;
154
+ binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
155
+ type: z.ZodEnum<{
156
+ binary: "binary";
157
+ image: "image";
158
+ audio: "audio";
159
+ video: "video";
160
+ file: "file";
161
+ }>;
162
+ extensions: z.ZodArray<z.ZodString>;
163
+ maxSize: z.ZodOptional<z.ZodNumber>;
164
+ mimeTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
165
+ }, z.core.$strip>>]>>;
166
+ }, z.core.$strip>>;
167
+ review: z.ZodOptional<z.ZodObject<{
168
+ contentSource: z.ZodOptional<z.ZodString>;
169
+ requirementSource: z.ZodOptional<z.ZodString>;
170
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
171
+ all: "all";
172
+ read: "read";
173
+ none: "none";
174
+ }>]>>;
175
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
176
+ customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
177
+ command: z.ZodString;
178
+ description: z.ZodString;
179
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
180
+ description: z.ZodString;
181
+ allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
182
+ "absolute-paths": "absolute-paths";
183
+ "directory-traversal": "directory-traversal";
184
+ "shell-injection": "shell-injection";
185
+ "null-bytes": "null-bytes";
186
+ }>>>;
187
+ }, z.core.$strip>>>;
188
+ timeout: z.ZodOptional<z.ZodNumber>;
189
+ }, z.core.$strip>>]>>;
190
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
191
+ rating: z.ZodOptional<z.ZodObject<{
192
+ enabled: z.ZodOptional<z.ZodBoolean>;
193
+ passThreshold: z.ZodOptional<z.ZodNumber>;
194
+ maxRating: z.ZodOptional<z.ZodNumber>;
195
+ minRating: z.ZodOptional<z.ZodNumber>;
196
+ errorOnReviewFail: z.ZodOptional<z.ZodBoolean>;
197
+ }, z.core.$strip>>;
198
+ binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
199
+ type: z.ZodEnum<{
200
+ binary: "binary";
201
+ image: "image";
202
+ audio: "audio";
203
+ video: "video";
204
+ file: "file";
205
+ }>;
206
+ extensions: z.ZodArray<z.ZodString>;
207
+ maxSize: z.ZodOptional<z.ZodNumber>;
208
+ mimeTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
209
+ }, z.core.$strip>>]>>;
210
+ }, z.core.$strip>>;
211
+ ask: z.ZodOptional<z.ZodObject<{
212
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
213
+ all: "all";
214
+ read: "read";
215
+ none: "none";
216
+ }>]>>;
217
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
218
+ customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
219
+ command: z.ZodString;
220
+ description: z.ZodString;
221
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
222
+ description: z.ZodString;
223
+ allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
224
+ "absolute-paths": "absolute-paths";
225
+ "directory-traversal": "directory-traversal";
226
+ "shell-injection": "shell-injection";
227
+ "null-bytes": "null-bytes";
228
+ }>>>;
229
+ }, z.core.$strip>>>;
230
+ timeout: z.ZodOptional<z.ZodNumber>;
231
+ }, z.core.$strip>>]>>;
232
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
233
+ devTools: z.ZodOptional<z.ZodObject<{
234
+ run_tests: z.ZodOptional<z.ZodString>;
235
+ run_lint: z.ZodOptional<z.ZodString>;
236
+ run_build: z.ZodOptional<z.ZodString>;
237
+ run_single_test: z.ZodOptional<z.ZodString>;
238
+ shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
239
+ enabled: z.ZodOptional<z.ZodBoolean>;
240
+ timeout: z.ZodOptional<z.ZodNumber>;
241
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
242
+ allowlist: z.ZodOptional<z.ZodBoolean>;
243
+ persistAllowlist: z.ZodOptional<z.ZodBoolean>;
244
+ judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
245
+ enabled: z.ZodOptional<z.ZodBoolean>;
246
+ autoApproveLow: z.ZodOptional<z.ZodBoolean>;
247
+ blockHigh: z.ZodOptional<z.ZodBoolean>;
248
+ model: z.ZodOptional<z.ZodObject<{
249
+ type: z.ZodOptional<z.ZodString>;
250
+ model: z.ZodOptional<z.ZodString>;
251
+ configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
252
+ apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
253
+ }, z.core.$loose>>;
254
+ }, z.core.$strip>]>>;
255
+ }, z.core.$strip>]>>;
256
+ shellYolo: z.ZodOptional<z.ZodBoolean>;
257
+ }, z.core.$strip>>;
258
+ binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
259
+ type: z.ZodEnum<{
260
+ binary: "binary";
261
+ image: "image";
262
+ audio: "audio";
263
+ video: "video";
264
+ file: "file";
265
+ }>;
266
+ extensions: z.ZodArray<z.ZodString>;
267
+ maxSize: z.ZodOptional<z.ZodNumber>;
268
+ mimeTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
269
+ }, z.core.$strip>>]>>;
270
+ }, z.core.$strip>>;
271
+ chat: z.ZodOptional<z.ZodObject<{
272
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
273
+ all: "all";
274
+ read: "read";
275
+ none: "none";
276
+ }>]>>;
277
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
278
+ customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
279
+ command: z.ZodString;
280
+ description: z.ZodString;
281
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
282
+ description: z.ZodString;
283
+ allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
284
+ "absolute-paths": "absolute-paths";
285
+ "directory-traversal": "directory-traversal";
286
+ "shell-injection": "shell-injection";
287
+ "null-bytes": "null-bytes";
288
+ }>>>;
289
+ }, z.core.$strip>>>;
290
+ timeout: z.ZodOptional<z.ZodNumber>;
291
+ }, z.core.$strip>>]>>;
292
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
293
+ binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
294
+ type: z.ZodEnum<{
295
+ binary: "binary";
296
+ image: "image";
297
+ audio: "audio";
298
+ video: "video";
299
+ file: "file";
300
+ }>;
301
+ extensions: z.ZodArray<z.ZodString>;
302
+ maxSize: z.ZodOptional<z.ZodNumber>;
303
+ mimeTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
304
+ }, z.core.$strip>>]>>;
305
+ }, z.core.$strip>>;
306
+ code: z.ZodOptional<z.ZodObject<{
307
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
308
+ all: "all";
309
+ read: "read";
310
+ none: "none";
311
+ }>]>>;
312
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
+ customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
314
+ command: z.ZodString;
315
+ description: z.ZodString;
316
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
317
+ description: z.ZodString;
318
+ allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
319
+ "absolute-paths": "absolute-paths";
320
+ "directory-traversal": "directory-traversal";
321
+ "shell-injection": "shell-injection";
322
+ "null-bytes": "null-bytes";
323
+ }>>>;
324
+ }, z.core.$strip>>>;
325
+ timeout: z.ZodOptional<z.ZodNumber>;
326
+ }, z.core.$strip>>]>>;
327
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
328
+ devTools: z.ZodOptional<z.ZodObject<{
329
+ run_tests: z.ZodOptional<z.ZodString>;
330
+ run_lint: z.ZodOptional<z.ZodString>;
331
+ run_build: z.ZodOptional<z.ZodString>;
332
+ run_single_test: z.ZodOptional<z.ZodString>;
333
+ shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
334
+ enabled: z.ZodOptional<z.ZodBoolean>;
335
+ timeout: z.ZodOptional<z.ZodNumber>;
336
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
337
+ allowlist: z.ZodOptional<z.ZodBoolean>;
338
+ persistAllowlist: z.ZodOptional<z.ZodBoolean>;
339
+ judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
340
+ enabled: z.ZodOptional<z.ZodBoolean>;
341
+ autoApproveLow: z.ZodOptional<z.ZodBoolean>;
342
+ blockHigh: z.ZodOptional<z.ZodBoolean>;
343
+ model: z.ZodOptional<z.ZodObject<{
344
+ type: z.ZodOptional<z.ZodString>;
345
+ model: z.ZodOptional<z.ZodString>;
346
+ configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
347
+ apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
348
+ }, z.core.$loose>>;
349
+ }, z.core.$strip>]>>;
350
+ }, z.core.$strip>]>>;
351
+ shellYolo: z.ZodOptional<z.ZodBoolean>;
352
+ }, z.core.$strip>>;
353
+ binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
354
+ type: z.ZodEnum<{
355
+ binary: "binary";
356
+ image: "image";
357
+ audio: "audio";
358
+ video: "video";
359
+ file: "file";
360
+ }>;
361
+ extensions: z.ZodArray<z.ZodString>;
362
+ maxSize: z.ZodOptional<z.ZodNumber>;
363
+ mimeTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
364
+ }, z.core.$strip>>]>>;
365
+ }, z.core.$strip>>;
366
+ exec: z.ZodOptional<z.ZodObject<{
367
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
368
+ all: "all";
369
+ read: "read";
370
+ none: "none";
371
+ }>]>>;
372
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
373
+ customTools: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodRecord<z.ZodString, z.ZodObject<{
374
+ command: z.ZodString;
375
+ description: z.ZodString;
376
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
377
+ description: z.ZodString;
378
+ allow: z.ZodOptional<z.ZodArray<z.ZodEnum<{
379
+ "absolute-paths": "absolute-paths";
380
+ "directory-traversal": "directory-traversal";
381
+ "shell-injection": "shell-injection";
382
+ "null-bytes": "null-bytes";
383
+ }>>>;
384
+ }, z.core.$strip>>>;
385
+ timeout: z.ZodOptional<z.ZodNumber>;
386
+ }, z.core.$strip>>]>>;
387
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
388
+ devTools: z.ZodOptional<z.ZodObject<{
389
+ run_tests: z.ZodOptional<z.ZodString>;
390
+ run_lint: z.ZodOptional<z.ZodString>;
391
+ run_build: z.ZodOptional<z.ZodString>;
392
+ run_single_test: z.ZodOptional<z.ZodString>;
393
+ shell: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
394
+ enabled: z.ZodOptional<z.ZodBoolean>;
395
+ timeout: z.ZodOptional<z.ZodNumber>;
396
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
397
+ allowlist: z.ZodOptional<z.ZodBoolean>;
398
+ persistAllowlist: z.ZodOptional<z.ZodBoolean>;
399
+ judge: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
400
+ enabled: z.ZodOptional<z.ZodBoolean>;
401
+ autoApproveLow: z.ZodOptional<z.ZodBoolean>;
402
+ blockHigh: z.ZodOptional<z.ZodBoolean>;
403
+ model: z.ZodOptional<z.ZodObject<{
404
+ type: z.ZodOptional<z.ZodString>;
405
+ model: z.ZodOptional<z.ZodString>;
406
+ configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
407
+ apiKeyEnvironmentVariable: z.ZodOptional<z.ZodString>;
408
+ }, z.core.$loose>>;
409
+ }, z.core.$strip>]>>;
410
+ }, z.core.$strip>]>>;
411
+ shellYolo: z.ZodOptional<z.ZodBoolean>;
412
+ }, z.core.$strip>>;
413
+ binaryFormats: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
414
+ type: z.ZodEnum<{
415
+ binary: "binary";
416
+ image: "image";
417
+ audio: "audio";
418
+ video: "video";
419
+ file: "file";
420
+ }>;
421
+ extensions: z.ZodArray<z.ZodString>;
422
+ maxSize: z.ZodOptional<z.ZodNumber>;
423
+ mimeTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
424
+ }, z.core.$strip>>]>>;
425
+ }, z.core.$strip>>;
426
+ api: z.ZodOptional<z.ZodObject<{
427
+ filesystem: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodEnum<{
428
+ all: "all";
429
+ read: "read";
430
+ none: "none";
431
+ }>]>>;
432
+ builtInTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
433
+ port: z.ZodOptional<z.ZodNumber>;
434
+ cors: z.ZodOptional<z.ZodObject<{
435
+ allowOrigin: z.ZodOptional<z.ZodString>;
436
+ allowMethods: z.ZodOptional<z.ZodString>;
437
+ allowHeaders: z.ZodOptional<z.ZodString>;
438
+ }, z.core.$strip>>;
439
+ }, z.core.$strip>>;
440
+ }, z.core.$strip>>;
441
+ modelDisplayName: z.ZodOptional<z.ZodString>;
442
+ allowDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
443
+ askWriteMode: z.ZodOptional<z.ZodBoolean>;
444
+ }, z.core.$loose>;
445
+ /**
446
+ * Type inferred from {@link rawGthConfigSchema}. This is additive and intentionally
447
+ * separate from the hand-written `RawGthConfig` interface in `config.ts` (it omits
448
+ * the deprecated aliases). Prefer `RawGthConfig` for the public surface.
449
+ */
450
+ export type RawGthConfigInput = z.infer<typeof rawGthConfigSchema>;
451
+ /**
452
+ * The set of known top-level config keys, derived from the schema shape so it can
453
+ * never drift from {@link rawGthConfigSchema}. Includes `$schema`.
454
+ */
455
+ export declare const KNOWN_TOP_LEVEL_KEYS: ReadonlySet<string>;
456
+ /**
457
+ * Return the top-level keys present in `raw` that are not part of the known config
458
+ * surface. Deprecated aliases should be pre-mapped away first (see
459
+ * {@link preMapDeprecatedConfigNames}) so they do not show up here.
460
+ */
461
+ export declare function findUnknownTopLevelKeys(raw: Record<string, unknown>): string[];
462
+ /**
463
+ * Render a friendly, path-scoped validation message from a Zod error. Each issue
464
+ * becomes a line ` - <path>: <message>`, with `(root)` for top-level issues.
465
+ */
466
+ export declare function formatConfigValidationError(error: z.ZodError): string;
467
+ /**
468
+ * B3 — one-way pre-map of deprecated config key names to their canonical names, at
469
+ * the config root AND per-command. Mutates `raw` in place (it is always a freshly
470
+ * loaded config layer) and returns it alongside a list of deprecation warnings the
471
+ * caller should emit via `displayWarning`. Canonical names win when both are
472
+ * present; the deprecated key is always removed so it does not later surface as an
473
+ * "unknown top-level key".
474
+ */
475
+ export declare function preMapDeprecatedConfigNames<T extends Record<string, unknown>>(raw: T): {
476
+ config: T;
477
+ warnings: string[];
478
+ };
479
+ /**
480
+ * Generate the JSON Schema for the raw config from {@link rawGthConfigSchema} using
481
+ * zod 4's native `z.toJSONSchema`. The output is committed to
482
+ * `packages/core/schema/gsloth-config.schema.json` and asserted by a golden test.
483
+ */
484
+ export declare function generateConfigJsonSchema(): Record<string, unknown>;
485
+ /**
486
+ * The structured outcome of validating a single raw config layer, WITHOUT any side
487
+ * effects (no console output, no `exit`). This is the read-side counterpart to the
488
+ * loader's `validateRawConfigLayer` (which warns + `exit`s inline): `gth config validate`
489
+ * uses it to render its own output and choose its own exit code.
490
+ */
491
+ export interface RawConfigValidationResult {
492
+ /** True when the config parses against the schema (unknown keys do NOT make it false). */
493
+ ok: boolean;
494
+ /** Non-fatal advisories: deprecated-name remaps (B3) and unknown top-level keys. */
495
+ warnings: string[];
496
+ /** Present only when `ok` is false: the path-scoped, multi-line validation message. */
497
+ errorMessage?: string;
498
+ }
499
+ /**
500
+ * Validate a freshly-loaded raw config object against {@link rawGthConfigSchema} and
501
+ * report the outcome as data (a pure function — no `displayWarning`/`exit`). Mirrors the
502
+ * loader's policy: deprecated key names are pre-mapped (each yielding a warning), unknown
503
+ * top-level keys warn but do not fail, and a genuine type mismatch on a known field fails
504
+ * with a path-scoped message.
505
+ *
506
+ * A shallow copy is taken before the (mutating) deprecated-name pre-map so the caller's
507
+ * top-level object is not modified.
508
+ */
509
+ export declare function validateRawGthConfig(raw: Record<string, unknown>): RawConfigValidationResult;