hoomanjs 1.33.0 → 1.35.0

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 (158) hide show
  1. package/README.md +114 -270
  2. package/dist/acp/acp-agent.js +2 -16
  3. package/dist/acp/acp-agent.js.map +1 -1
  4. package/dist/acp/sessions/options.js +2 -2
  5. package/dist/acp/sessions/options.js.map +1 -1
  6. package/dist/acp/sessions/store.d.ts +0 -2
  7. package/dist/acp/sessions/store.js.map +1 -1
  8. package/dist/acp/utils/tool-kind.js +10 -2
  9. package/dist/acp/utils/tool-kind.js.map +1 -1
  10. package/dist/chat/app.d.ts +2 -1
  11. package/dist/chat/app.js +94 -23
  12. package/dist/chat/app.js.map +1 -1
  13. package/dist/chat/components/BottomChrome.d.ts +6 -2
  14. package/dist/chat/components/BottomChrome.js +2 -2
  15. package/dist/chat/components/BottomChrome.js.map +1 -1
  16. package/dist/chat/components/ChromePicker.d.ts +7 -2
  17. package/dist/chat/components/ChromePicker.js +9 -2
  18. package/dist/chat/components/ChromePicker.js.map +1 -1
  19. package/dist/chat/components/StatusBar.d.ts +1 -2
  20. package/dist/chat/components/StatusBar.js +3 -12
  21. package/dist/chat/components/StatusBar.js.map +1 -1
  22. package/dist/chat/components/ToolEvent.js +1 -1
  23. package/dist/chat/components/ToolEvent.js.map +1 -1
  24. package/dist/chat/index.d.ts +2 -1
  25. package/dist/chat/index.js +7 -0
  26. package/dist/chat/index.js.map +1 -1
  27. package/dist/cli.js +120 -4
  28. package/dist/cli.js.map +1 -1
  29. package/dist/configure/app.js +1005 -392
  30. package/dist/configure/app.js.map +1 -1
  31. package/dist/configure/index.js.map +1 -1
  32. package/dist/configure/types.d.ts +18 -0
  33. package/dist/core/agent/index.d.ts +13 -3
  34. package/dist/core/agent/index.js +83 -15
  35. package/dist/core/agent/index.js.map +1 -1
  36. package/dist/core/config.d.ts +319 -87
  37. package/dist/core/config.js +191 -218
  38. package/dist/core/config.js.map +1 -1
  39. package/dist/core/index.d.ts +1 -2
  40. package/dist/core/index.js +6 -7
  41. package/dist/core/index.js.map +1 -1
  42. package/dist/core/mcp/config.d.ts +7 -1
  43. package/dist/core/mcp/config.js +41 -8
  44. package/dist/core/mcp/config.js.map +1 -1
  45. package/dist/core/mcp/manager.js +1 -1
  46. package/dist/core/mcp/manager.js.map +1 -1
  47. package/dist/core/mcp/oauth/provider.js.map +1 -1
  48. package/dist/core/mcp/prefixed-mcp-tool.d.ts +0 -1
  49. package/dist/core/mcp/prefixed-mcp-tool.js +0 -2
  50. package/dist/core/mcp/prefixed-mcp-tool.js.map +1 -1
  51. package/dist/core/memory/index.d.ts +1 -0
  52. package/dist/core/memory/index.js +1 -0
  53. package/dist/core/memory/index.js.map +1 -1
  54. package/dist/core/memory/model-extractor.js.map +1 -0
  55. package/dist/core/models/anthropic.d.ts +3 -12
  56. package/dist/core/models/anthropic.js +20 -91
  57. package/dist/core/models/anthropic.js.map +1 -1
  58. package/dist/core/models/azure.d.ts +4 -0
  59. package/dist/core/models/azure.js +26 -0
  60. package/dist/core/models/azure.js.map +1 -0
  61. package/dist/core/models/bedrock.d.ts +3 -20
  62. package/dist/core/models/bedrock.js +22 -18
  63. package/dist/core/models/bedrock.js.map +1 -1
  64. package/dist/core/models/google.d.ts +2 -9
  65. package/dist/core/models/google.js +12 -31
  66. package/dist/core/models/google.js.map +1 -1
  67. package/dist/core/models/groq.d.ts +2 -9
  68. package/dist/core/models/groq.js +15 -25
  69. package/dist/core/models/groq.js.map +1 -1
  70. package/dist/core/models/index.d.ts +2 -1
  71. package/dist/core/models/index.js +3 -0
  72. package/dist/core/models/index.js.map +1 -1
  73. package/dist/core/models/minimax.d.ts +2 -0
  74. package/dist/core/models/minimax.js +11 -0
  75. package/dist/core/models/minimax.js.map +1 -0
  76. package/dist/core/models/moonshot.d.ts +2 -10
  77. package/dist/core/models/moonshot.js +23 -38
  78. package/dist/core/models/moonshot.js.map +1 -1
  79. package/dist/core/models/ollama/index.d.ts +2 -1
  80. package/dist/core/models/ollama/index.js +12 -5
  81. package/dist/core/models/ollama/index.js.map +1 -1
  82. package/dist/core/models/openai.d.ts +3 -4
  83. package/dist/core/models/openai.js +20 -3
  84. package/dist/core/models/openai.js.map +1 -1
  85. package/dist/core/models/openrouter.d.ts +4 -0
  86. package/dist/core/models/openrouter.js +23 -0
  87. package/dist/core/models/openrouter.js.map +1 -0
  88. package/dist/core/models/types.d.ts +346 -0
  89. package/dist/core/models/types.js +220 -0
  90. package/dist/core/models/types.js.map +1 -0
  91. package/dist/core/models/xai.d.ts +2 -9
  92. package/dist/core/models/xai.js +15 -25
  93. package/dist/core/models/xai.js.map +1 -1
  94. package/dist/core/modes/definitions.js +6 -2
  95. package/dist/core/modes/definitions.js.map +1 -1
  96. package/dist/core/prompts/agents/research.md +8 -4
  97. package/dist/core/prompts/agents/review.md +26 -0
  98. package/dist/core/prompts/agents/test-investigator.md +26 -0
  99. package/dist/core/prompts/modes/ask.md +1 -1
  100. package/dist/core/prompts/modes/plan.md +1 -1
  101. package/dist/core/prompts/runtime.js +2 -30
  102. package/dist/core/prompts/runtime.js.map +1 -1
  103. package/dist/core/prompts/static/subagents.md +12 -8
  104. package/dist/core/prompts/system.js +1 -1
  105. package/dist/core/prompts/system.js.map +1 -1
  106. package/dist/core/runtime-config.d.ts +16 -0
  107. package/dist/core/runtime-config.js +44 -0
  108. package/dist/core/runtime-config.js.map +1 -0
  109. package/dist/core/session-config.js +2 -1
  110. package/dist/core/session-config.js.map +1 -1
  111. package/dist/core/sessions/flat-file-storage.js.map +1 -0
  112. package/dist/core/sessions/lazy-session-manager.js.map +1 -0
  113. package/dist/core/sessions/list-cli-sessions.d.ts +12 -0
  114. package/dist/core/sessions/list-cli-sessions.js +174 -0
  115. package/dist/core/sessions/list-cli-sessions.js.map +1 -0
  116. package/dist/core/skills/built-in/hooman-config/SKILL.md +98 -201
  117. package/dist/core/state/tool-approvals.js +4 -3
  118. package/dist/core/state/tool-approvals.js.map +1 -1
  119. package/dist/core/subagents/index.d.ts +2 -3
  120. package/dist/core/subagents/index.js +2 -3
  121. package/dist/core/subagents/index.js.map +1 -1
  122. package/dist/core/subagents/registry.d.ts +22 -0
  123. package/dist/core/subagents/registry.js +96 -0
  124. package/dist/core/subagents/registry.js.map +1 -0
  125. package/dist/core/subagents/tool.d.ts +6 -14
  126. package/dist/core/subagents/tool.js +73 -53
  127. package/dist/core/subagents/tool.js.map +1 -1
  128. package/dist/core/tools/filesystem.js +2 -9
  129. package/dist/core/tools/filesystem.js.map +1 -1
  130. package/dist/core/tools/shell.js.map +1 -1
  131. package/dist/core/utils/discover-files.d.ts +12 -0
  132. package/dist/core/utils/discover-files.js +47 -0
  133. package/dist/core/utils/discover-files.js.map +1 -0
  134. package/dist/index.d.ts +8 -5
  135. package/dist/index.js +7 -3
  136. package/dist/index.js.map +1 -1
  137. package/package.json +2 -1
  138. package/dist/acp/meta/system-prompt.d.ts +0 -12
  139. package/dist/acp/meta/system-prompt.js +0 -41
  140. package/dist/acp/meta/system-prompt.js.map +0 -1
  141. package/dist/core/context/flat-file-storage.js.map +0 -1
  142. package/dist/core/context/index.d.ts +0 -22
  143. package/dist/core/context/index.js +0 -74
  144. package/dist/core/context/index.js.map +0 -1
  145. package/dist/core/context/lazy-session-manager.js.map +0 -1
  146. package/dist/core/context/model-extractor.js.map +0 -1
  147. package/dist/core/subagents/research.d.ts +0 -16
  148. package/dist/core/subagents/research.js +0 -58
  149. package/dist/core/subagents/research.js.map +0 -1
  150. package/dist/core/subagents/runner.d.ts +0 -37
  151. package/dist/core/subagents/runner.js +0 -273
  152. package/dist/core/subagents/runner.js.map +0 -1
  153. /package/dist/core/{context → memory}/model-extractor.d.ts +0 -0
  154. /package/dist/core/{context → memory}/model-extractor.js +0 -0
  155. /package/dist/core/{context → sessions}/flat-file-storage.d.ts +0 -0
  156. /package/dist/core/{context → sessions}/flat-file-storage.js +0 -0
  157. /package/dist/core/{context → sessions}/lazy-session-manager.d.ts +0 -0
  158. /package/dist/core/{context → sessions}/lazy-session-manager.js +0 -0
@@ -1,60 +1,119 @@
1
1
  import { z } from "zod";
2
- /** LLM backend; extend as you add providers. */
3
- export declare enum LlmProvider {
4
- Anthropic = "anthropic",
5
- Bifrost = "bifrost",
6
- Google = "google",
7
- Groq = "groq",
8
- Moonshot = "moonshot",
9
- OpenAI = "openai",
10
- Ollama = "ollama",
11
- Bedrock = "bedrock",
12
- TensorZero = "tensorzero",
13
- Xai = "xai"
14
- }
15
- declare const ResolvedLlmSchema: z.ZodObject<{
16
- provider: z.ZodEnum<typeof LlmProvider>;
17
- model: z.ZodString;
18
- params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
19
- }, z.core.$strip>;
20
- declare const ProviderSchema: z.ZodObject<{
21
- provider: z.ZodEnum<typeof LlmProvider>;
22
- params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
23
- }, z.core.$strip>;
24
- declare const NamedProviderSchema: z.ZodObject<{
25
- name: z.ZodString;
26
- options: z.ZodObject<{
27
- provider: z.ZodEnum<typeof LlmProvider>;
28
- params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
29
- }, z.core.$strip>;
30
- }, z.core.$strip>;
31
- declare const NamedLlmSchema: z.ZodObject<{
32
- name: z.ZodString;
33
- options: z.ZodObject<{
34
- provider: z.ZodString;
35
- model: z.ZodString;
36
- params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
37
- }, z.core.$strip>;
38
- default: z.ZodDefault<z.ZodBoolean>;
39
- }, z.core.$strip>;
2
+ import { LlmProvider, type LlmOptions, type NamedLlmConfig, type NamedProviderConfig, type ProviderOptions } from "./models/types.js";
40
3
  declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
41
4
  name: z.ZodString;
42
- providers: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
5
+ providers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
6
+ name: z.ZodString;
7
+ provider: z.ZodLiteral<LlmProvider.Anthropic>;
8
+ options: z.ZodObject<{
9
+ apiKey: z.ZodOptional<z.ZodString>;
10
+ baseURL: z.ZodOptional<z.ZodString>;
11
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
12
+ thinking: z.ZodOptional<z.ZodEnum<{
13
+ disabled: "disabled";
14
+ adaptive: "adaptive";
15
+ }>>;
16
+ }, z.core.$strict>;
17
+ }, z.core.$strict>, z.ZodObject<{
18
+ name: z.ZodString;
19
+ provider: z.ZodLiteral<LlmProvider.Azure>;
20
+ options: z.ZodObject<{
21
+ resourceName: z.ZodOptional<z.ZodString>;
22
+ baseURL: z.ZodOptional<z.ZodString>;
23
+ apiKey: z.ZodOptional<z.ZodString>;
24
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
25
+ apiVersion: z.ZodOptional<z.ZodString>;
26
+ useDeploymentBasedUrls: z.ZodOptional<z.ZodBoolean>;
27
+ }, z.core.$strict>;
28
+ }, z.core.$strict>, z.ZodObject<{
29
+ name: z.ZodString;
30
+ provider: z.ZodLiteral<LlmProvider.Bedrock>;
31
+ options: z.ZodObject<{
32
+ region: z.ZodOptional<z.ZodString>;
33
+ accessKeyId: z.ZodOptional<z.ZodString>;
34
+ secretAccessKey: z.ZodOptional<z.ZodString>;
35
+ sessionToken: z.ZodOptional<z.ZodString>;
36
+ apiKey: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strict>;
38
+ }, z.core.$strict>, z.ZodObject<{
39
+ name: z.ZodString;
40
+ provider: z.ZodLiteral<LlmProvider.Google>;
41
+ options: z.ZodObject<{
42
+ apiKey: z.ZodOptional<z.ZodString>;
43
+ }, z.core.$strict>;
44
+ }, z.core.$strict>, z.ZodObject<{
45
+ name: z.ZodString;
46
+ provider: z.ZodLiteral<LlmProvider.Groq>;
47
+ options: z.ZodObject<{
48
+ apiKey: z.ZodOptional<z.ZodString>;
49
+ baseURL: z.ZodOptional<z.ZodString>;
50
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
51
+ }, z.core.$strict>;
52
+ }, z.core.$strict>, z.ZodObject<{
53
+ name: z.ZodString;
54
+ provider: z.ZodLiteral<LlmProvider.Minimax>;
55
+ options: z.ZodObject<{
56
+ apiKey: z.ZodOptional<z.ZodString>;
57
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
58
+ thinking: z.ZodOptional<z.ZodEnum<{
59
+ disabled: "disabled";
60
+ adaptive: "adaptive";
61
+ }>>;
62
+ }, z.core.$strict>;
63
+ }, z.core.$strict>, z.ZodObject<{
43
64
  name: z.ZodString;
65
+ provider: z.ZodLiteral<LlmProvider.Moonshot>;
44
66
  options: z.ZodObject<{
45
- provider: z.ZodEnum<typeof LlmProvider>;
46
- params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
47
- }, z.core.$strip>;
48
- }, z.core.$strip>>>>;
67
+ apiKey: z.ZodOptional<z.ZodString>;
68
+ baseURL: z.ZodOptional<z.ZodString>;
69
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
70
+ }, z.core.$strict>;
71
+ }, z.core.$strict>, z.ZodObject<{
72
+ name: z.ZodString;
73
+ provider: z.ZodLiteral<LlmProvider.Ollama>;
74
+ options: z.ZodObject<{
75
+ baseURL: z.ZodOptional<z.ZodString>;
76
+ thinking: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
77
+ high: "high";
78
+ medium: "medium";
79
+ low: "low";
80
+ }>]>>;
81
+ }, z.core.$strict>;
82
+ }, z.core.$strict>, z.ZodObject<{
83
+ name: z.ZodString;
84
+ provider: z.ZodLiteral<LlmProvider.OpenAI>;
85
+ options: z.ZodObject<{
86
+ apiKey: z.ZodOptional<z.ZodString>;
87
+ baseURL: z.ZodOptional<z.ZodString>;
88
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
89
+ }, z.core.$strict>;
90
+ }, z.core.$strict>, z.ZodObject<{
91
+ name: z.ZodString;
92
+ provider: z.ZodLiteral<LlmProvider.OpenRouter>;
93
+ options: z.ZodObject<{
94
+ apiKey: z.ZodOptional<z.ZodString>;
95
+ baseURL: z.ZodOptional<z.ZodString>;
96
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
97
+ }, z.core.$strict>;
98
+ }, z.core.$strict>, z.ZodObject<{
99
+ name: z.ZodString;
100
+ provider: z.ZodLiteral<LlmProvider.Xai>;
101
+ options: z.ZodObject<{
102
+ apiKey: z.ZodOptional<z.ZodString>;
103
+ baseURL: z.ZodOptional<z.ZodString>;
104
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
105
+ }, z.core.$strict>;
106
+ }, z.core.$strict>], "provider">>;
49
107
  llms: z.ZodArray<z.ZodObject<{
50
108
  name: z.ZodString;
109
+ provider: z.ZodString;
51
110
  options: z.ZodObject<{
52
- provider: z.ZodString;
53
111
  model: z.ZodString;
54
- params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
55
- }, z.core.$strip>;
112
+ temperature: z.ZodOptional<z.ZodNumber>;
113
+ maxTokens: z.ZodOptional<z.ZodNumber>;
114
+ }, z.core.$strict>;
56
115
  default: z.ZodDefault<z.ZodBoolean>;
57
- }, z.core.$strip>>;
116
+ }, z.core.$strict>>;
58
117
  search: z.ZodOptional<z.ZodNullable<z.ZodObject<{
59
118
  enabled: z.ZodOptional<z.ZodBoolean>;
60
119
  provider: z.ZodOptional<z.ZodEnum<{
@@ -102,36 +161,115 @@ declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
102
161
  sleep: z.ZodOptional<z.ZodObject<{
103
162
  enabled: z.ZodOptional<z.ZodBoolean>;
104
163
  }, z.core.$strip>>;
105
- agents: z.ZodOptional<z.ZodObject<{
164
+ subagents: z.ZodOptional<z.ZodObject<{
106
165
  enabled: z.ZodOptional<z.ZodBoolean>;
107
- concurrency: z.ZodOptional<z.ZodNumber>;
108
166
  }, z.core.$strip>>;
109
167
  }, z.core.$strip>>>;
110
- compaction: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodObject<{
168
+ compaction: z.ZodOptional<z.ZodNullable<z.ZodObject<{
111
169
  ratio: z.ZodOptional<z.ZodNumber>;
112
170
  keep: z.ZodOptional<z.ZodNumber>;
113
- }, z.core.$strip>>>, z.ZodTransform<{
114
- ratio: number;
115
- keep: number;
116
- }, {
117
- ratio?: number | undefined;
118
- keep?: number | undefined;
119
- } | null | undefined>>;
171
+ }, z.core.$strip>>>;
120
172
  }, z.core.$strip>, z.ZodTransform<{
121
173
  name: string;
122
- providers: {
174
+ providers: ({
123
175
  name: string;
176
+ provider: LlmProvider.Anthropic;
124
177
  options: {
125
- provider: LlmProvider;
126
- params: Record<string, any>;
178
+ apiKey?: string | undefined;
179
+ baseURL?: string | undefined;
180
+ headers?: Record<string, string> | undefined;
181
+ thinking?: "disabled" | "adaptive" | undefined;
127
182
  };
128
- }[];
183
+ } | {
184
+ name: string;
185
+ provider: LlmProvider.Azure;
186
+ options: {
187
+ resourceName?: string | undefined;
188
+ baseURL?: string | undefined;
189
+ apiKey?: string | undefined;
190
+ headers?: Record<string, string> | undefined;
191
+ apiVersion?: string | undefined;
192
+ useDeploymentBasedUrls?: boolean | undefined;
193
+ };
194
+ } | {
195
+ name: string;
196
+ provider: LlmProvider.Bedrock;
197
+ options: {
198
+ region?: string | undefined;
199
+ accessKeyId?: string | undefined;
200
+ secretAccessKey?: string | undefined;
201
+ sessionToken?: string | undefined;
202
+ apiKey?: string | undefined;
203
+ };
204
+ } | {
205
+ name: string;
206
+ provider: LlmProvider.Google;
207
+ options: {
208
+ apiKey?: string | undefined;
209
+ };
210
+ } | {
211
+ name: string;
212
+ provider: LlmProvider.Groq;
213
+ options: {
214
+ apiKey?: string | undefined;
215
+ baseURL?: string | undefined;
216
+ headers?: Record<string, string> | undefined;
217
+ };
218
+ } | {
219
+ name: string;
220
+ provider: LlmProvider.Minimax;
221
+ options: {
222
+ apiKey?: string | undefined;
223
+ headers?: Record<string, string> | undefined;
224
+ thinking?: "disabled" | "adaptive" | undefined;
225
+ };
226
+ } | {
227
+ name: string;
228
+ provider: LlmProvider.Moonshot;
229
+ options: {
230
+ apiKey?: string | undefined;
231
+ baseURL?: string | undefined;
232
+ headers?: Record<string, string> | undefined;
233
+ };
234
+ } | {
235
+ name: string;
236
+ provider: LlmProvider.Ollama;
237
+ options: {
238
+ baseURL?: string | undefined;
239
+ thinking?: boolean | "high" | "medium" | "low" | undefined;
240
+ };
241
+ } | {
242
+ name: string;
243
+ provider: LlmProvider.OpenAI;
244
+ options: {
245
+ apiKey?: string | undefined;
246
+ baseURL?: string | undefined;
247
+ headers?: Record<string, string> | undefined;
248
+ };
249
+ } | {
250
+ name: string;
251
+ provider: LlmProvider.OpenRouter;
252
+ options: {
253
+ apiKey?: string | undefined;
254
+ baseURL?: string | undefined;
255
+ headers?: Record<string, string> | undefined;
256
+ };
257
+ } | {
258
+ name: string;
259
+ provider: LlmProvider.Xai;
260
+ options: {
261
+ apiKey?: string | undefined;
262
+ baseURL?: string | undefined;
263
+ headers?: Record<string, string> | undefined;
264
+ };
265
+ })[];
129
266
  llms: {
130
267
  name: string;
268
+ provider: string;
131
269
  options: {
132
- provider: string;
133
270
  model: string;
134
- params: Record<string, any>;
271
+ temperature?: number | undefined;
272
+ maxTokens?: number | undefined;
135
273
  };
136
274
  default: boolean;
137
275
  }[];
@@ -176,9 +314,8 @@ declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
176
314
  sleep: {
177
315
  enabled: boolean;
178
316
  };
179
- agents: {
317
+ subagents: {
180
318
  enabled: boolean;
181
- concurrency: number;
182
319
  };
183
320
  };
184
321
  compaction: {
@@ -187,26 +324,108 @@ declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
187
324
  };
188
325
  }, {
189
326
  name: string;
327
+ providers: ({
328
+ name: string;
329
+ provider: LlmProvider.Anthropic;
330
+ options: {
331
+ apiKey?: string | undefined;
332
+ baseURL?: string | undefined;
333
+ headers?: Record<string, string> | undefined;
334
+ thinking?: "disabled" | "adaptive" | undefined;
335
+ };
336
+ } | {
337
+ name: string;
338
+ provider: LlmProvider.Azure;
339
+ options: {
340
+ resourceName?: string | undefined;
341
+ baseURL?: string | undefined;
342
+ apiKey?: string | undefined;
343
+ headers?: Record<string, string> | undefined;
344
+ apiVersion?: string | undefined;
345
+ useDeploymentBasedUrls?: boolean | undefined;
346
+ };
347
+ } | {
348
+ name: string;
349
+ provider: LlmProvider.Bedrock;
350
+ options: {
351
+ region?: string | undefined;
352
+ accessKeyId?: string | undefined;
353
+ secretAccessKey?: string | undefined;
354
+ sessionToken?: string | undefined;
355
+ apiKey?: string | undefined;
356
+ };
357
+ } | {
358
+ name: string;
359
+ provider: LlmProvider.Google;
360
+ options: {
361
+ apiKey?: string | undefined;
362
+ };
363
+ } | {
364
+ name: string;
365
+ provider: LlmProvider.Groq;
366
+ options: {
367
+ apiKey?: string | undefined;
368
+ baseURL?: string | undefined;
369
+ headers?: Record<string, string> | undefined;
370
+ };
371
+ } | {
372
+ name: string;
373
+ provider: LlmProvider.Minimax;
374
+ options: {
375
+ apiKey?: string | undefined;
376
+ headers?: Record<string, string> | undefined;
377
+ thinking?: "disabled" | "adaptive" | undefined;
378
+ };
379
+ } | {
380
+ name: string;
381
+ provider: LlmProvider.Moonshot;
382
+ options: {
383
+ apiKey?: string | undefined;
384
+ baseURL?: string | undefined;
385
+ headers?: Record<string, string> | undefined;
386
+ };
387
+ } | {
388
+ name: string;
389
+ provider: LlmProvider.Ollama;
390
+ options: {
391
+ baseURL?: string | undefined;
392
+ thinking?: boolean | "high" | "medium" | "low" | undefined;
393
+ };
394
+ } | {
395
+ name: string;
396
+ provider: LlmProvider.OpenAI;
397
+ options: {
398
+ apiKey?: string | undefined;
399
+ baseURL?: string | undefined;
400
+ headers?: Record<string, string> | undefined;
401
+ };
402
+ } | {
403
+ name: string;
404
+ provider: LlmProvider.OpenRouter;
405
+ options: {
406
+ apiKey?: string | undefined;
407
+ baseURL?: string | undefined;
408
+ headers?: Record<string, string> | undefined;
409
+ };
410
+ } | {
411
+ name: string;
412
+ provider: LlmProvider.Xai;
413
+ options: {
414
+ apiKey?: string | undefined;
415
+ baseURL?: string | undefined;
416
+ headers?: Record<string, string> | undefined;
417
+ };
418
+ })[];
190
419
  llms: {
191
420
  name: string;
421
+ provider: string;
192
422
  options: {
193
- provider: string;
194
423
  model: string;
195
- params: Record<string, any>;
424
+ temperature?: number | undefined;
425
+ maxTokens?: number | undefined;
196
426
  };
197
427
  default: boolean;
198
428
  }[];
199
- compaction: {
200
- ratio: number;
201
- keep: number;
202
- };
203
- providers?: {
204
- name: string;
205
- options: {
206
- provider: LlmProvider;
207
- params: Record<string, any>;
208
- };
209
- }[] | null | undefined;
210
429
  search?: {
211
430
  enabled?: boolean | undefined;
212
431
  provider?: "brave" | "exa" | "firecrawl" | "serper" | "tavily" | undefined;
@@ -248,30 +467,43 @@ declare const ConfigSchema: z.ZodPipe<z.ZodObject<{
248
467
  sleep?: {
249
468
  enabled?: boolean | undefined;
250
469
  } | undefined;
251
- agents?: {
470
+ subagents?: {
252
471
  enabled?: boolean | undefined;
253
- concurrency?: number | undefined;
254
472
  } | undefined;
255
473
  } | null | undefined;
474
+ compaction?: {
475
+ ratio?: number | undefined;
476
+ keep?: number | undefined;
477
+ } | null | undefined;
256
478
  }>>;
257
479
  export type ConfigData = z.infer<typeof ConfigSchema>;
258
- export type ProviderConfig = z.infer<typeof ProviderSchema>;
259
- export type NamedProviderConfig = z.infer<typeof NamedProviderSchema>;
260
- export type LlmConfig = z.infer<typeof ResolvedLlmSchema>;
261
- export type NamedLlmConfig = z.infer<typeof NamedLlmSchema>;
480
+ export type ProviderConfig = ProviderOptions;
481
+ export type LlmConfig = {
482
+ provider: LlmProvider;
483
+ providerOptions: ProviderOptions;
484
+ llmOptions: LlmOptions;
485
+ };
262
486
  export type ResolvedNamedLlmConfig = {
263
487
  name: string;
264
- options: LlmConfig;
488
+ provider: LlmProvider;
489
+ providerOptions: ProviderOptions;
490
+ llmOptions: LlmOptions;
265
491
  default: boolean;
266
492
  };
267
493
  export type CompactionConfig = ConfigData["compaction"];
268
494
  export type PromptsConfig = ConfigData["prompts"];
269
495
  export type SearchConfig = ConfigData["search"];
270
496
  export type ToolsConfig = ConfigData["tools"];
497
+ export type ConfigOptions = {
498
+ overlayPaths?: readonly string[];
499
+ };
500
+ export { LlmProvider };
501
+ export type { NamedLlmConfig, NamedProviderConfig };
271
502
  export declare class Config {
272
503
  private data;
273
504
  private readonly path;
274
- constructor(path: string);
505
+ private readonly overlayPaths;
506
+ constructor(path: string, options?: ConfigOptions);
275
507
  get name(): string;
276
508
  private resolveNamedLlm;
277
509
  get providers(): NamedProviderConfig[];
@@ -284,8 +516,8 @@ export declare class Config {
284
516
  get tools(): ToolsConfig;
285
517
  get compaction(): CompactionConfig;
286
518
  private readJson;
519
+ private readOverlay;
287
520
  reload(): void;
288
521
  persist(): void;
289
522
  update(partial: Partial<ConfigData>): void;
290
523
  }
291
- export {};