hoomanjs 1.42.1 → 1.43.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/acp/acp-agent.js +21 -3
- package/dist/acp/acp-agent.js.map +1 -1
- package/dist/chat/app.js +19 -2
- package/dist/chat/app.js.map +1 -1
- package/dist/chat/components/BottomChrome.d.ts +1 -0
- package/dist/chat/components/BottomChrome.js.map +1 -1
- package/dist/chat/components/StatusBar.d.ts +1 -0
- package/dist/chat/components/StatusBar.js +3 -0
- package/dist/chat/components/StatusBar.js.map +1 -1
- package/dist/configure/app.js +149 -4
- package/dist/configure/app.js.map +1 -1
- package/dist/configure/types.d.ts +3 -0
- package/dist/core/config.d.ts +67 -0
- package/dist/core/config.js +35 -13
- package/dist/core/config.js.map +1 -1
- package/dist/core/models/download-progress.d.ts +2 -2
- package/dist/core/models/hub-download.d.ts +27 -0
- package/dist/core/models/hub-download.js +136 -0
- package/dist/core/models/hub-download.js.map +1 -0
- package/dist/core/models/index.js +1 -0
- package/dist/core/models/index.js.map +1 -1
- package/dist/core/models/llama-cpp/index.js +3 -0
- package/dist/core/models/llama-cpp/index.js.map +1 -1
- package/dist/core/models/llama-cpp/resolve-model.d.ts +1 -1
- package/dist/core/models/llama-cpp/resolve-model.js +5 -134
- package/dist/core/models/llama-cpp/resolve-model.js.map +1 -1
- package/dist/core/models/llama-cpp/strands-llama-cpp.d.ts +6 -0
- package/dist/core/models/llama-cpp/strands-llama-cpp.js +6 -0
- package/dist/core/models/llama-cpp/strands-llama-cpp.js.map +1 -1
- package/dist/core/models/mlx/index.d.ts +13 -0
- package/dist/core/models/mlx/index.js +47 -0
- package/dist/core/models/mlx/index.js.map +1 -0
- package/dist/core/models/mlx/resolve-model.d.ts +31 -0
- package/dist/core/models/mlx/resolve-model.js +149 -0
- package/dist/core/models/mlx/resolve-model.js.map +1 -0
- package/dist/core/models/mlx/strands-mlx.d.ts +45 -0
- package/dist/core/models/mlx/strands-mlx.js +439 -0
- package/dist/core/models/mlx/strands-mlx.js.map +1 -0
- package/dist/core/models/types.d.ts +149 -4
- package/dist/core/models/types.js +27 -0
- package/dist/core/models/types.js.map +1 -1
- package/dist/core/skills/built-in/hooman-config/SKILL.md +25 -11
- package/dist/core/skills/built-in/hooman-config/providers.md +4 -2
- package/dist/core/utils/billing.d.ts +23 -2
- package/dist/core/utils/billing.js +25 -2
- package/dist/core/utils/billing.js.map +1 -1
- package/package.json +2 -1
|
@@ -7,6 +7,7 @@ export declare enum LlmProvider {
|
|
|
7
7
|
Groq = "groq",
|
|
8
8
|
LlamaCpp = "llama-cpp",
|
|
9
9
|
Minimax = "minimax",
|
|
10
|
+
Mlx = "mlx",
|
|
10
11
|
Moonshot = "moonshot",
|
|
11
12
|
Ollama = "ollama",
|
|
12
13
|
OpenAI = "openai",
|
|
@@ -50,9 +51,13 @@ export type LlmOptions = {
|
|
|
50
51
|
temperature?: number;
|
|
51
52
|
maxTokens?: number;
|
|
52
53
|
/**
|
|
53
|
-
* Context size in tokens for this model. Only honored by the
|
|
54
|
-
*
|
|
55
|
-
* ignore it.
|
|
54
|
+
* Context size in tokens for this model. Only honored by the local
|
|
55
|
+
* `llama-cpp` and `mlx` providers (overrides the provider-level
|
|
56
|
+
* `context`); other providers ignore it. For llama-cpp it sizes the
|
|
57
|
+
* actual llama.cpp context; for mlx (where MLX allocates KV state
|
|
58
|
+
* dynamically) it declares the model's usable window. Both feed the
|
|
59
|
+
* context-usage gauge, taking precedence over the models.dev catalog
|
|
60
|
+
* (an explicit `billing.context` still wins).
|
|
56
61
|
*/
|
|
57
62
|
context?: number;
|
|
58
63
|
};
|
|
@@ -154,6 +159,12 @@ export type LlamaCppProviderOptions = {
|
|
|
154
159
|
* node-llama-cpp adapts it to the model's training context and free memory.
|
|
155
160
|
*/
|
|
156
161
|
context?: number;
|
|
162
|
+
/**
|
|
163
|
+
* Whether turns may reuse KV state already evaluated by a previous turn
|
|
164
|
+
* (llama.cpp context-sequence state reuse). Defaults to `true`; set
|
|
165
|
+
* `false` to re-prefill the full conversation from scratch every turn.
|
|
166
|
+
*/
|
|
167
|
+
promptCache?: boolean;
|
|
157
168
|
/**
|
|
158
169
|
* Reasoning controls. Providing `reasoning` enables thinking: the chat
|
|
159
170
|
* template is configured to allow thought segments (Qwen `thoughts: "auto"`,
|
|
@@ -176,6 +187,48 @@ export type MinimaxProviderOptions = {
|
|
|
176
187
|
*/
|
|
177
188
|
reasoning?: ReasoningOptions;
|
|
178
189
|
};
|
|
190
|
+
/**
|
|
191
|
+
* Sizing for mlex's internal prompt-cache pool (LRU + idle-TTL eviction,
|
|
192
|
+
* keyed by longest exact-prefix match on token ids), applied once when the
|
|
193
|
+
* model is loaded. All fields are optional overrides of mlex's own
|
|
194
|
+
* defaults (`maxEntries` 16, `ttl` 300s, `minTokens` 8).
|
|
195
|
+
*/
|
|
196
|
+
export type MlxPromptCacheConfig = {
|
|
197
|
+
minTokens?: number;
|
|
198
|
+
maxEntries?: number;
|
|
199
|
+
ttl?: number;
|
|
200
|
+
};
|
|
201
|
+
export type MlxProviderOptions = {
|
|
202
|
+
/**
|
|
203
|
+
* Hugging Face access token used when downloading MLX-format weights from
|
|
204
|
+
* the Hub (gated/private repos). Falls back to the `HF_TOKEN` env var when
|
|
205
|
+
* unset.
|
|
206
|
+
*/
|
|
207
|
+
hfToken?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Default context size in tokens for this provider's models. MLX
|
|
210
|
+
* allocates KV state dynamically, so this doesn't size an allocation —
|
|
211
|
+
* it declares the usable window for the context-usage gauge. Per-LLM
|
|
212
|
+
* `options.context` takes precedence.
|
|
213
|
+
*/
|
|
214
|
+
context?: number;
|
|
215
|
+
/**
|
|
216
|
+
* Whether turns may reuse KV state from mlex's internal prompt-cache
|
|
217
|
+
* pool (prefix matching against previous calls), applied once when the
|
|
218
|
+
* model is loaded. `undefined`, `null`, and `false` all disable caching
|
|
219
|
+
* entirely; an object (even `{}`) enables it, optionally overriding
|
|
220
|
+
* mlex's own pool-sizing defaults via its fields.
|
|
221
|
+
*/
|
|
222
|
+
promptCache?: MlxPromptCacheConfig | false | null;
|
|
223
|
+
/**
|
|
224
|
+
* Reasoning controls. Providing `reasoning` enables thinking: the model
|
|
225
|
+
* thinks naturally and `effort` caps thought tokens via the runtime's
|
|
226
|
+
* thinking-token budget (1024/2048/4096/8192, default `medium`). Omit
|
|
227
|
+
* `reasoning` to disable thinking (the chat template closes the think block
|
|
228
|
+
* immediately and reasoning content is dropped).
|
|
229
|
+
*/
|
|
230
|
+
reasoning?: ReasoningOptions;
|
|
231
|
+
};
|
|
179
232
|
export type MoonshotProviderOptions = {
|
|
180
233
|
apiKey?: string;
|
|
181
234
|
baseURL?: string;
|
|
@@ -245,7 +298,7 @@ export type XaiProviderOptions = {
|
|
|
245
298
|
*/
|
|
246
299
|
reasoning?: ReasoningOptions;
|
|
247
300
|
};
|
|
248
|
-
export type ProviderOptions = AnthropicProviderOptions | AzureProviderOptions | BedrockProviderOptions | GoogleProviderOptions | GroqProviderOptions | LlamaCppProviderOptions | MinimaxProviderOptions | MoonshotProviderOptions | OllamaProviderOptions | OpenAIProviderOptions | OpenRouterProviderOptions | XaiProviderOptions;
|
|
301
|
+
export type ProviderOptions = AnthropicProviderOptions | AzureProviderOptions | BedrockProviderOptions | GoogleProviderOptions | GroqProviderOptions | LlamaCppProviderOptions | MinimaxProviderOptions | MlxProviderOptions | MoonshotProviderOptions | OllamaProviderOptions | OpenAIProviderOptions | OpenRouterProviderOptions | XaiProviderOptions;
|
|
249
302
|
export declare const OpenAIApiSchema: z.ZodEnum<{
|
|
250
303
|
chat: "chat";
|
|
251
304
|
responses: "responses";
|
|
@@ -431,6 +484,7 @@ export declare const LlamaCppProviderOptionsSchema: z.ZodPipe<z.ZodTransform<unk
|
|
|
431
484
|
vulkan: "vulkan";
|
|
432
485
|
}>, z.ZodLiteral<false>]>>;
|
|
433
486
|
context: z.ZodOptional<z.ZodNumber>;
|
|
487
|
+
promptCache: z.ZodOptional<z.ZodBoolean>;
|
|
434
488
|
reasoning: z.ZodOptional<z.ZodObject<{
|
|
435
489
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
436
490
|
minimal: "minimal";
|
|
@@ -473,6 +527,38 @@ export declare const MinimaxProviderOptionsSchema: z.ZodObject<{
|
|
|
473
527
|
}>>;
|
|
474
528
|
}, z.core.$strict>>;
|
|
475
529
|
}, z.core.$strict>;
|
|
530
|
+
export declare const MlxPromptCacheConfigSchema: z.ZodObject<{
|
|
531
|
+
minTokens: z.ZodOptional<z.ZodNumber>;
|
|
532
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
533
|
+
ttl: z.ZodOptional<z.ZodNumber>;
|
|
534
|
+
}, z.core.$strict>;
|
|
535
|
+
export declare const MlxProviderOptionsSchema: z.ZodObject<{
|
|
536
|
+
hfToken: z.ZodOptional<z.ZodString>;
|
|
537
|
+
context: z.ZodOptional<z.ZodNumber>;
|
|
538
|
+
promptCache: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
539
|
+
minTokens: z.ZodOptional<z.ZodNumber>;
|
|
540
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
541
|
+
ttl: z.ZodOptional<z.ZodNumber>;
|
|
542
|
+
}, z.core.$strict>, z.ZodLiteral<false>, z.ZodNull]>>;
|
|
543
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
544
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
545
|
+
minimal: "minimal";
|
|
546
|
+
low: "low";
|
|
547
|
+
medium: "medium";
|
|
548
|
+
high: "high";
|
|
549
|
+
}>>;
|
|
550
|
+
summary: z.ZodOptional<z.ZodEnum<{
|
|
551
|
+
auto: "auto";
|
|
552
|
+
concise: "concise";
|
|
553
|
+
detailed: "detailed";
|
|
554
|
+
none: "none";
|
|
555
|
+
}>>;
|
|
556
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
557
|
+
summarized: "summarized";
|
|
558
|
+
omitted: "omitted";
|
|
559
|
+
}>>;
|
|
560
|
+
}, z.core.$strict>>;
|
|
561
|
+
}, z.core.$strict>;
|
|
476
562
|
export declare const MoonshotProviderOptionsSchema: z.ZodObject<{
|
|
477
563
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
478
564
|
baseURL: z.ZodOptional<z.ZodString>;
|
|
@@ -718,6 +804,7 @@ export declare const ProviderOptionsSchemas: {
|
|
|
718
804
|
vulkan: "vulkan";
|
|
719
805
|
}>, z.ZodLiteral<false>]>>;
|
|
720
806
|
context: z.ZodOptional<z.ZodNumber>;
|
|
807
|
+
promptCache: z.ZodOptional<z.ZodBoolean>;
|
|
721
808
|
reasoning: z.ZodOptional<z.ZodObject<{
|
|
722
809
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
723
810
|
minimal: "minimal";
|
|
@@ -760,6 +847,33 @@ export declare const ProviderOptionsSchemas: {
|
|
|
760
847
|
}>>;
|
|
761
848
|
}, z.core.$strict>>;
|
|
762
849
|
}, z.core.$strict>;
|
|
850
|
+
readonly mlx: z.ZodObject<{
|
|
851
|
+
hfToken: z.ZodOptional<z.ZodString>;
|
|
852
|
+
context: z.ZodOptional<z.ZodNumber>;
|
|
853
|
+
promptCache: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
854
|
+
minTokens: z.ZodOptional<z.ZodNumber>;
|
|
855
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
856
|
+
ttl: z.ZodOptional<z.ZodNumber>;
|
|
857
|
+
}, z.core.$strict>, z.ZodLiteral<false>, z.ZodNull]>>;
|
|
858
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
859
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
860
|
+
minimal: "minimal";
|
|
861
|
+
low: "low";
|
|
862
|
+
medium: "medium";
|
|
863
|
+
high: "high";
|
|
864
|
+
}>>;
|
|
865
|
+
summary: z.ZodOptional<z.ZodEnum<{
|
|
866
|
+
auto: "auto";
|
|
867
|
+
concise: "concise";
|
|
868
|
+
detailed: "detailed";
|
|
869
|
+
none: "none";
|
|
870
|
+
}>>;
|
|
871
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
872
|
+
summarized: "summarized";
|
|
873
|
+
omitted: "omitted";
|
|
874
|
+
}>>;
|
|
875
|
+
}, z.core.$strict>>;
|
|
876
|
+
}, z.core.$strict>;
|
|
763
877
|
readonly moonshot: z.ZodObject<{
|
|
764
878
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
765
879
|
baseURL: z.ZodOptional<z.ZodString>;
|
|
@@ -1023,6 +1137,7 @@ export declare const NamedProviderConfigSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
1023
1137
|
vulkan: "vulkan";
|
|
1024
1138
|
}>, z.ZodLiteral<false>]>>;
|
|
1025
1139
|
context: z.ZodOptional<z.ZodNumber>;
|
|
1140
|
+
promptCache: z.ZodOptional<z.ZodBoolean>;
|
|
1026
1141
|
reasoning: z.ZodOptional<z.ZodObject<{
|
|
1027
1142
|
effort: z.ZodOptional<z.ZodEnum<{
|
|
1028
1143
|
minimal: "minimal";
|
|
@@ -1068,6 +1183,36 @@ export declare const NamedProviderConfigSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
1068
1183
|
}>>;
|
|
1069
1184
|
}, z.core.$strict>>;
|
|
1070
1185
|
}, z.core.$strict>;
|
|
1186
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1187
|
+
name: z.ZodString;
|
|
1188
|
+
provider: z.ZodLiteral<LlmProvider.Mlx>;
|
|
1189
|
+
options: z.ZodObject<{
|
|
1190
|
+
hfToken: z.ZodOptional<z.ZodString>;
|
|
1191
|
+
context: z.ZodOptional<z.ZodNumber>;
|
|
1192
|
+
promptCache: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
1193
|
+
minTokens: z.ZodOptional<z.ZodNumber>;
|
|
1194
|
+
maxEntries: z.ZodOptional<z.ZodNumber>;
|
|
1195
|
+
ttl: z.ZodOptional<z.ZodNumber>;
|
|
1196
|
+
}, z.core.$strict>, z.ZodLiteral<false>, z.ZodNull]>>;
|
|
1197
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
1198
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
1199
|
+
minimal: "minimal";
|
|
1200
|
+
low: "low";
|
|
1201
|
+
medium: "medium";
|
|
1202
|
+
high: "high";
|
|
1203
|
+
}>>;
|
|
1204
|
+
summary: z.ZodOptional<z.ZodEnum<{
|
|
1205
|
+
auto: "auto";
|
|
1206
|
+
concise: "concise";
|
|
1207
|
+
detailed: "detailed";
|
|
1208
|
+
none: "none";
|
|
1209
|
+
}>>;
|
|
1210
|
+
display: z.ZodOptional<z.ZodEnum<{
|
|
1211
|
+
summarized: "summarized";
|
|
1212
|
+
omitted: "omitted";
|
|
1213
|
+
}>>;
|
|
1214
|
+
}, z.core.$strict>>;
|
|
1215
|
+
}, z.core.$strict>;
|
|
1071
1216
|
}, z.core.$strict>, z.ZodObject<{
|
|
1072
1217
|
name: z.ZodString;
|
|
1073
1218
|
provider: z.ZodLiteral<LlmProvider.Moonshot>;
|
|
@@ -8,6 +8,7 @@ export var LlmProvider;
|
|
|
8
8
|
LlmProvider["Groq"] = "groq";
|
|
9
9
|
LlmProvider["LlamaCpp"] = "llama-cpp";
|
|
10
10
|
LlmProvider["Minimax"] = "minimax";
|
|
11
|
+
LlmProvider["Mlx"] = "mlx";
|
|
11
12
|
LlmProvider["Moonshot"] = "moonshot";
|
|
12
13
|
LlmProvider["Ollama"] = "ollama";
|
|
13
14
|
LlmProvider["OpenAI"] = "openai";
|
|
@@ -142,6 +143,7 @@ export const LlamaCppProviderOptionsSchema = z.preprocess(
|
|
|
142
143
|
.union([z.enum(["auto", "metal", "cuda", "vulkan"]), z.literal(false)])
|
|
143
144
|
.optional(),
|
|
144
145
|
context: z.number().int().positive().optional(),
|
|
146
|
+
promptCache: z.boolean().optional(),
|
|
145
147
|
reasoning: ReasoningOptionsSchema.optional(),
|
|
146
148
|
})
|
|
147
149
|
.strict());
|
|
@@ -153,6 +155,23 @@ export const MinimaxProviderOptionsSchema = z
|
|
|
153
155
|
reasoning: ReasoningOptionsSchema.optional(),
|
|
154
156
|
})
|
|
155
157
|
.strict();
|
|
158
|
+
export const MlxPromptCacheConfigSchema = z
|
|
159
|
+
.object({
|
|
160
|
+
minTokens: z.number().int().nonnegative().optional(),
|
|
161
|
+
maxEntries: z.number().int().positive().optional(),
|
|
162
|
+
ttl: z.number().int().positive().optional(),
|
|
163
|
+
})
|
|
164
|
+
.strict();
|
|
165
|
+
export const MlxProviderOptionsSchema = z
|
|
166
|
+
.object({
|
|
167
|
+
hfToken: NonEmptyStringSchema.optional(),
|
|
168
|
+
context: z.number().int().positive().optional(),
|
|
169
|
+
promptCache: z
|
|
170
|
+
.union([MlxPromptCacheConfigSchema, z.literal(false), z.null()])
|
|
171
|
+
.optional(),
|
|
172
|
+
reasoning: ReasoningOptionsSchema.optional(),
|
|
173
|
+
})
|
|
174
|
+
.strict();
|
|
156
175
|
export const MoonshotProviderOptionsSchema = z
|
|
157
176
|
.object({
|
|
158
177
|
apiKey: NonEmptyStringSchema.optional(),
|
|
@@ -200,6 +219,7 @@ export const ProviderOptionsSchemas = {
|
|
|
200
219
|
[LlmProvider.Groq]: GroqProviderOptionsSchema,
|
|
201
220
|
[LlmProvider.LlamaCpp]: LlamaCppProviderOptionsSchema,
|
|
202
221
|
[LlmProvider.Minimax]: MinimaxProviderOptionsSchema,
|
|
222
|
+
[LlmProvider.Mlx]: MlxProviderOptionsSchema,
|
|
203
223
|
[LlmProvider.Moonshot]: MoonshotProviderOptionsSchema,
|
|
204
224
|
[LlmProvider.Ollama]: OllamaProviderOptionsSchema,
|
|
205
225
|
[LlmProvider.OpenAI]: OpenAIProviderOptionsSchema,
|
|
@@ -256,6 +276,13 @@ export const NamedProviderConfigSchema = z.discriminatedUnion("provider", [
|
|
|
256
276
|
options: MinimaxProviderOptionsSchema,
|
|
257
277
|
})
|
|
258
278
|
.strict(),
|
|
279
|
+
z
|
|
280
|
+
.object({
|
|
281
|
+
name: NonEmptyStringSchema,
|
|
282
|
+
provider: z.literal(LlmProvider.Mlx),
|
|
283
|
+
options: MlxProviderOptionsSchema,
|
|
284
|
+
})
|
|
285
|
+
.strict(),
|
|
259
286
|
z
|
|
260
287
|
.object({
|
|
261
288
|
name: NonEmptyStringSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/models/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/models/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,35 +50,49 @@ This is the default shape Hooman writes when `~/.hooman/config.json` is missing:
|
|
|
50
50
|
"name": "llama.cpp",
|
|
51
51
|
"provider": "llama-cpp",
|
|
52
52
|
"options": {}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "mlx",
|
|
56
|
+
"provider": "mlx",
|
|
57
|
+
"options": { "promptCache": {} }
|
|
53
58
|
}
|
|
54
59
|
],
|
|
55
60
|
"llms": [
|
|
56
61
|
{
|
|
57
|
-
"name": "
|
|
62
|
+
"name": "Gemma 4 E2B (llama.cpp)",
|
|
58
63
|
"provider": "llama.cpp",
|
|
59
64
|
"options": {
|
|
60
|
-
"model": "
|
|
61
|
-
"context":
|
|
65
|
+
"model": "unsloth/gemma-4-E2B-it-GGUF:Q4_K_M",
|
|
66
|
+
"context": 131072
|
|
62
67
|
},
|
|
63
|
-
"default":
|
|
68
|
+
"default": false
|
|
64
69
|
},
|
|
65
70
|
{
|
|
66
|
-
"name": "Qwen3.5
|
|
71
|
+
"name": "Qwen3.5 2B (llama.cpp)",
|
|
67
72
|
"provider": "llama.cpp",
|
|
68
73
|
"options": {
|
|
69
|
-
"model": "unsloth/Qwen3.5-
|
|
74
|
+
"model": "unsloth/Qwen3.5-2B-MTP-GGUF:Q4_K_M",
|
|
70
75
|
"context": 262144
|
|
71
76
|
},
|
|
72
77
|
"default": false
|
|
73
78
|
},
|
|
74
79
|
{
|
|
75
|
-
"name": "Gemma 4 E2B",
|
|
76
|
-
"provider": "
|
|
80
|
+
"name": "Gemma 4 E2B (MLX)",
|
|
81
|
+
"provider": "mlx",
|
|
77
82
|
"options": {
|
|
78
|
-
"model": "
|
|
83
|
+
"model": "mlx-community/gemma-4-e2b-it-OptiQ-4bit",
|
|
79
84
|
"context": 131072
|
|
80
85
|
},
|
|
81
86
|
"default": false
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "Qwen3.5 2B (MLX)",
|
|
90
|
+
"provider": "mlx",
|
|
91
|
+
"options": {
|
|
92
|
+
"model": "mlx-community/Qwen3.5-2B-OptiQ-4bit",
|
|
93
|
+
"context": 262144
|
|
94
|
+
},
|
|
95
|
+
"default": false
|
|
82
96
|
}
|
|
83
97
|
],
|
|
84
98
|
"search": {
|
|
@@ -117,8 +131,8 @@ Hooman fills all optional sections with defaults on load and persist, so a minim
|
|
|
117
131
|
## Top-Level Options
|
|
118
132
|
|
|
119
133
|
- `name`: non-empty display name for the agent.
|
|
120
|
-
- `providers`: required reusable provider definitions. Each entry has `name`, runtime `provider`, and provider-specific `options`. Supported runtime providers: `anthropic`, `azure`, `bedrock`, `google`, `groq`, `llama-cpp`, `minimax`, `moonshot`, `ollama`, `openai`, `openrouter`, `xai` — details in `providers.md`.
|
|
121
|
-
- `llms`: required non-empty list of named LLM configs. Each entry has `name`, provider reference `provider`, model `options` (`model`, optional `temperature`, optional `maxTokens`, optional `context` — llama-cpp only), and `default` (mark exactly one entry `true`). Details in `providers.md`.
|
|
134
|
+
- `providers`: required reusable provider definitions. Each entry has `name`, runtime `provider`, and provider-specific `options`. Supported runtime providers: `anthropic`, `azure`, `bedrock`, `google`, `groq`, `llama-cpp`, `minimax`, `mlx`, `moonshot`, `ollama`, `openai`, `openrouter`, `xai` — details in `providers.md`.
|
|
135
|
+
- `llms`: required non-empty list of named LLM configs. Each entry has `name`, provider reference `provider`, model `options` (`model`, optional `temperature`, optional `maxTokens`, optional `context` — local llama-cpp/mlx providers only), and `default` (mark exactly one entry `true`). Details in `providers.md`.
|
|
122
136
|
- `search`: optional web search config; defaults to disabled Brave. Details in `search.md`.
|
|
123
137
|
- `prompts`: optional built-in static prompt toggles; omitted fields default to `true`. Custom user instructions live in `~/.hooman/instructions.md`.
|
|
124
138
|
- `tools`: optional tool toggles and tool-specific settings.
|
|
@@ -11,7 +11,7 @@ Each element of `llms` has:
|
|
|
11
11
|
- `options.model`: model id passed to the resolved runtime provider.
|
|
12
12
|
- `options.temperature`: optional normalized temperature override.
|
|
13
13
|
- `options.maxTokens`: optional normalized output token limit.
|
|
14
|
-
- `options.context`: optional context size in tokens; only honored by the `llama-cpp`
|
|
14
|
+
- `options.context`: optional context size in tokens; only honored by the local `llama-cpp` and `mlx` providers (overrides the provider-level `context`), other providers ignore it. For llama-cpp it sizes the actual llama.cpp context; for mlx it declares the usable window. Both feed the context-usage gauge (an explicit `billing.context` still wins).
|
|
15
15
|
- `default`: boolean; mark one entry `"default": true` for the active model.
|
|
16
16
|
- `billing`: optional billing metadata used for context-window utilization and session-cost display. When present, `billing.name` is required — the model identifier looked up on models.dev (defaults to `options.model` when `billing` is omitted). Optional overrides: `billing.context` (context window size in tokens) and `billing.costs` (USD per million tokens: required `"input/m"` and `"output/m"`, optional `"cache/m"` for cached-input reads). Anything not provided is resolved from the models.dev catalog; when neither source resolves, context usage and cost are simply not shown.
|
|
17
17
|
|
|
@@ -50,6 +50,7 @@ Supported `providers[].provider` values:
|
|
|
50
50
|
"groq",
|
|
51
51
|
"llama-cpp",
|
|
52
52
|
"minimax",
|
|
53
|
+
"mlx",
|
|
53
54
|
"moonshot",
|
|
54
55
|
"ollama",
|
|
55
56
|
"openai",
|
|
@@ -93,8 +94,9 @@ Common shape:
|
|
|
93
94
|
- `bedrock`: provider `options` support `region`, `accessKeyId`, `secretAccessKey`, `sessionToken`, optional `apiKey`, and optional `reasoning` (an object with optional `effort` and optional `display` — `"summarized"` or `"omitted"`). Providing `reasoning` enables extended thinking on supported models (e.g. Claude); because Bedrock's Converse API requires a budget, `effort` (default `"medium"`) maps to `budget_tokens` (`minimal`→1024, `low`→2048, `medium`→4096, `high`→8192). Ensure the LLM `maxTokens` exceeds the budget. Newer Bedrock Claude (e.g. Opus 4.7+) hide reasoning by default and reject `type: "enabled"`; set `display: "summarized"` to reveal it — this switches to `thinking: { type: "adaptive", display }` with `output_config.effort` (`minimal`→`low`, else passthrough) sent via `additionalRequestFields`. LLM `options` support `model`, `temperature`, and `maxTokens`.
|
|
94
95
|
- `google`: provider `options` support `apiKey` and optional `reasoning` (an object with optional `effort`). Setting `reasoning.effort` enables Gemini thinking with a dynamic budget (`thinkingConfig: { includeThoughts: true, thinkingBudget: -1 }`). LLM `options` support `model`, `temperature`, and `maxTokens` (Hooman maps this to the Google SDK's `maxOutputTokens` internally).
|
|
95
96
|
- `groq`: provider `options` support `apiKey`, optional `baseURL`, optional `headers`, and optional `reasoning` (an object with optional `effort`). `reasoning.effort` maps to Groq's `reasoning_effort` (`minimal`→`low`) and streams reasoning via `reasoning_format: "parsed"`. Only reasoning models honor it. LLM `options` support `model`, `temperature`, and `maxTokens`.
|
|
96
|
-
- `llama-cpp`: runs GGUF models in-process via node-llama-cpp (no server needed); weights are downloaded from the Hugging Face Hub into `~/.hooman/cache/huggingface` on first use. Provider `options` support optional `hfToken` (Hugging Face access token for gated/private repos; falls back to the `HF_TOKEN` env var), optional `gpu` (`"auto"` — default when unset, `"metal"`, `"cuda"`, `"vulkan"`, or `false` for CPU-only), optional `context` (tokens; overridden by a per-LLM `options.context`; when both are absent it adapts to the model and available memory), and optional `reasoning` (an object with optional `effort`). Providing `reasoning` enables thinking (the chat template is configured to allow thought segments — Qwen3 thinking mode, Gemma 4 reasoning turns, gpt-oss/Harmony native effort levels — with `effort` capping thought tokens via a budget: `minimal`→1024, `low`→2048, `medium`→4096, `high`→8192, default `medium`); omitting it disables thinking (templates discourage thoughts, thought budget forced to 0). LLM `options.model` accepts a Hugging Face repo (`owner/repo`, GGUF auto-detected preferring common quantizations like Q4_K_M), a repo with a quant tag (`owner/repo:Q8_0`), an exact file (`owner/repo/path/to/file.gguf`), or a local `.gguf` path; the out-of-the-box config ships three entries — `Qwen/Qwen3-1.7B-GGUF:Q8_0` (default, `context` 32768), `unsloth/Qwen3.5-0.8B-MTP-GGUF:Q8_0` (`context` 262144), and `unsloth/gemma-4-E2B-it-GGUF:Q8_0` (`context` 131072); `temperature`, `maxTokens`, and `context` are supported.
|
|
97
|
+
- `llama-cpp`: runs GGUF models in-process via node-llama-cpp (no server needed); weights are downloaded from the Hugging Face Hub into `~/.hooman/cache/huggingface` on first use. Provider `options` support optional `hfToken` (Hugging Face access token for gated/private repos; falls back to the `HF_TOKEN` env var), optional `gpu` (`"auto"` — default when unset, `"metal"`, `"cuda"`, `"vulkan"`, or `false` for CPU-only), optional `context` (tokens; overridden by a per-LLM `options.context`; when both are absent it adapts to the model and available memory), optional `promptCache` (boolean, default `true`; reuse KV state evaluated by previous turns — set `false` to re-prefill the full conversation every turn), and optional `reasoning` (an object with optional `effort`). Providing `reasoning` enables thinking (the chat template is configured to allow thought segments — Qwen3 thinking mode, Gemma 4 reasoning turns, gpt-oss/Harmony native effort levels — with `effort` capping thought tokens via a budget: `minimal`→1024, `low`→2048, `medium`→4096, `high`→8192, default `medium`); omitting it disables thinking (templates discourage thoughts, thought budget forced to 0). LLM `options.model` accepts a Hugging Face repo (`owner/repo`, GGUF auto-detected preferring common quantizations like Q4_K_M), a repo with a quant tag (`owner/repo:Q8_0`), an exact file (`owner/repo/path/to/file.gguf`), or a local `.gguf` path; the out-of-the-box config ships three entries — `Qwen/Qwen3-1.7B-GGUF:Q8_0` (default, `context` 32768), `unsloth/Qwen3.5-0.8B-MTP-GGUF:Q8_0` (`context` 262144), and `unsloth/gemma-4-E2B-it-GGUF:Q8_0` (`context` 131072); `temperature`, `maxTokens`, and `context` are supported.
|
|
97
98
|
- `minimax`: provider `options` support `apiKey`, optional `headers`, and optional `reasoning` (an object with optional `effort` — `"minimal"`, `"low"`, `"medium"`, `"high"` — and optional `display` — `"summarized"` or `"omitted"`). Providing `reasoning` enables thinking, normalized to MiniMax's `thinking: { type: "adaptive", budget_tokens }`; `effort` defaults to `"medium"` and maps to an explicit budget (`minimal`→1024, `low`→2048, `medium`→4096, `high`→8192). Setting `display` switches to `thinking: { type: "adaptive", display }` with `output_config.effort` instead of a budget. Omit `reasoning` to keep thinking off. Hooman routes this through the Anthropic-compatible MiniMax endpoint automatically.
|
|
99
|
+
- `mlx`: runs MLX-format models in-process on Apple Silicon via `mlex.js` (Metal GPU; macOS 26+ for the prebuilt binaries); weights are downloaded from the Hugging Face Hub into `~/.hooman/cache/huggingface` on first use. Supported architectures: Qwen2/2.5, Qwen3, Qwen3.5/3.6 (dense and MoE), Gemma 4 (including multi-modal vision/audio variants), Nemotron 3 (hybrid Mamba2/attention), DharaAR — the repo must be MLX format (e.g. `mlx-community/...`), and every MLX quantization scheme loads (bf16/fp16, affine 2-8 bit, mxfp4/mxfp8/nvfp4, and mixed-precision OptiQ/Google-QAT exports). Provider `options` support optional `hfToken` (Hugging Face access token for gated/private repos; falls back to the `HF_TOKEN` env var), optional `context` (tokens; overridden by a per-LLM `options.context` — MLX allocates KV state dynamically, so this declares the usable window for the context-usage gauge rather than sizing an allocation), optional `promptCache` (`{ minTokens?, maxEntries?, ttl? }`, or `false`/`null`/unset; sizes and gates mlex's internal prompt-cache pool, applied once when the model loads — `undefined`, `null`, and `false` all disable caching entirely, while an object, even `{}`, enables it, with `maxEntries`/`ttl` (seconds)/`minTokens` overriding mlex's own defaults of 16/300/8 where set; the out-of-the-box `mlx` provider ships `{ "promptCache": {} }`), and optional `reasoning` (an object with optional `effort`). Providing `reasoning` enables thinking (the model thinks naturally with `effort` capping thought tokens via a budget: `minimal`→1024, `low`→2048, `medium`→4096, `high`→8192, default `medium`; when the budget runs out the runtime force-closes the reasoning span and moves on to the answer); omitting it disables thinking. Tools use standard JSON Schema natively — no grammar-subset conversion applies. LLM `options.model` accepts a Hugging Face repo (`owner/repo`) or a local MLX model directory (containing `config.json` + safetensors); the out-of-the-box config ships three entries (none the default, each with `context` 262144 — the models' full training window) — `mlx-community/Qwen3.5-9B-OptiQ-4bit` ("Qwen3.5 9B (MLX)"), `mlx-community/NVIDIA-Nemotron-3-Nano-4B-OptiQ-4bit` ("Nemotron 3 Nano 4B (MLX)"), and `mlx-community/gemma-4-12B-it-qat-OptiQ-4bit` ("Gemma 4 12B (MLX)"); `temperature`, `maxTokens`, and `context` are supported.
|
|
98
100
|
- `moonshot`: provider `options` support `apiKey`, optional `baseURL`, optional `headers`, and optional `reasoning` (an object with optional `effort`). Setting `reasoning.effort` enables Kimi thinking (`thinking: { type: "enabled" }`). Served through the reasoning-aware openai-compatible adapter, so Kimi's `reasoning_content` is surfaced as thinking. When `baseURL` is omitted, Hooman defaults it to `https://api.moonshot.ai/v1`. To reach Kimi through an OpenAI-compatible proxy (e.g. LiteLLM), use this provider with `baseURL` set to the proxy's `/v1` endpoint — the `openai` provider's Chat adapter would otherwise drop Kimi's reasoning.
|
|
99
101
|
- `ollama`: provider `options` support optional `baseURL` and optional `reasoning` (an object with optional `effort`). Setting `reasoning.effort` enables thinking, mapped to Ollama's `think` level (`minimal`/`low`→`"low"`, `medium`→`"medium"`, `high`→`"high"`). LLM `options` support `model`, `temperature`, and `maxTokens`.
|
|
100
102
|
- `openai`: provider `options` support `apiKey`, optional `baseURL`, optional `headers`, optional `api` (`"responses"` or `"chat"`, defaults to `"responses"`), and optional `reasoning` (an object with optional `effort` — `"minimal"`, `"low"`, `"medium"`, `"high"` — and optional `summary` — `"auto"` (default), `"concise"`, `"detailed"`, `"none"`). LLM `options` support `model`, `temperature`, and `maxTokens`. Use `"responses"` (the default) to surface model reasoning/thinking; set `"chat"` for OpenAI-compatible endpoints/proxies that do not implement the Responses API. Reasoning summaries stream only on the Responses API, and some models (e.g. GPT-5) require `reasoning.effort` of `"medium"` or higher to emit them; set `reasoning.summary` to `"none"` for non-reasoning models that reject the `reasoning` parameter. Note: `"chat"` mode does NOT surface reasoning (the Chat adapter drops `reasoning_content`); for a proxy that only exposes thinking via chat `reasoning_content` (e.g. Kimi/Moonshot), use the `moonshot` or `openrouter` provider instead. Also note the Responses API may return an empty reasoning item for non-OpenAI backends behind a proxy (they won't stream summary text).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LlmProvider } from "../models/types.js";
|
|
2
|
-
import type { LlmBilling } from "../models/types.js";
|
|
2
|
+
import type { LlmBilling, ProviderOptions } from "../models/types.js";
|
|
3
3
|
/** Resolved per-million-token USD prices (cache tiers fall back to `inputPerM`). */
|
|
4
4
|
export type ResolvedBillingCosts = {
|
|
5
5
|
inputPerM: number;
|
|
@@ -18,6 +18,23 @@ export type ResolvedLlmBilling = {
|
|
|
18
18
|
context?: number;
|
|
19
19
|
costs?: ResolvedBillingCosts;
|
|
20
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* The context size configured on a resolved LLM entry, when the provider
|
|
23
|
+
* actually honors one: for the local `llama-cpp` and `mlx` providers this is
|
|
24
|
+
* the per-LLM `options.context` (falling back to the provider-level
|
|
25
|
+
* `context`). Other providers' windows are fixed server-side, so config
|
|
26
|
+
* context is ignored for them. Feed the result into
|
|
27
|
+
* {@link resolveLlmBilling}'s `configuredContext` so the context gauge
|
|
28
|
+
* reflects the actual runtime window rather than the catalog's training
|
|
29
|
+
* window.
|
|
30
|
+
*/
|
|
31
|
+
export declare function configuredLlmContext(llm: {
|
|
32
|
+
provider: LlmProvider;
|
|
33
|
+
providerOptions: ProviderOptions;
|
|
34
|
+
llmOptions: {
|
|
35
|
+
context?: number;
|
|
36
|
+
};
|
|
37
|
+
}): number | undefined;
|
|
21
38
|
/**
|
|
22
39
|
* Resolve billing metadata for a model: config-provided `billing` fields win,
|
|
23
40
|
* anything missing is filled from the models.dev catalog, and the billing
|
|
@@ -29,8 +46,12 @@ export type ResolvedLlmBilling = {
|
|
|
29
46
|
* discarded — the catalog prices the hosted API for the same model id, not
|
|
30
47
|
* the free local inference — so only the context window resolves (config
|
|
31
48
|
* `billing.costs`, if explicitly set, is still honored).
|
|
49
|
+
*
|
|
50
|
+
* `configuredContext` (the runtime context actually configured on the LLM
|
|
51
|
+
* entry — see {@link configuredLlmContext}) sits between the two sources:
|
|
52
|
+
* an explicit `billing.context` wins over it, and it wins over the catalog.
|
|
32
53
|
*/
|
|
33
|
-
export declare function resolveLlmBilling(billing: LlmBilling | null | undefined, modelId: string, provider?: LlmProvider): Promise<ResolvedLlmBilling | null>;
|
|
54
|
+
export declare function resolveLlmBilling(billing: LlmBilling | null | undefined, modelId: string, provider?: LlmProvider, configuredContext?: number): Promise<ResolvedLlmBilling | null>;
|
|
34
55
|
/**
|
|
35
56
|
* USD cost of one request's token usage. Expects usage already normalized to
|
|
36
57
|
* the additive shape (see `toAdditiveUsage`): cache reads/writes are separate
|
|
@@ -249,8 +249,27 @@ function configCostsToResolved(costs) {
|
|
|
249
249
|
*/
|
|
250
250
|
const LOCAL_PROVIDERS = new Set([
|
|
251
251
|
LlmProvider.LlamaCpp,
|
|
252
|
+
LlmProvider.Mlx,
|
|
252
253
|
LlmProvider.Ollama,
|
|
253
254
|
]);
|
|
255
|
+
/**
|
|
256
|
+
* The context size configured on a resolved LLM entry, when the provider
|
|
257
|
+
* actually honors one: for the local `llama-cpp` and `mlx` providers this is
|
|
258
|
+
* the per-LLM `options.context` (falling back to the provider-level
|
|
259
|
+
* `context`). Other providers' windows are fixed server-side, so config
|
|
260
|
+
* context is ignored for them. Feed the result into
|
|
261
|
+
* {@link resolveLlmBilling}'s `configuredContext` so the context gauge
|
|
262
|
+
* reflects the actual runtime window rather than the catalog's training
|
|
263
|
+
* window.
|
|
264
|
+
*/
|
|
265
|
+
export function configuredLlmContext(llm) {
|
|
266
|
+
if (llm.provider !== LlmProvider.LlamaCpp &&
|
|
267
|
+
llm.provider !== LlmProvider.Mlx) {
|
|
268
|
+
return undefined;
|
|
269
|
+
}
|
|
270
|
+
const providerContext = llm.providerOptions.context;
|
|
271
|
+
return llm.llmOptions.context ?? providerContext;
|
|
272
|
+
}
|
|
254
273
|
/**
|
|
255
274
|
* Resolve billing metadata for a model: config-provided `billing` fields win,
|
|
256
275
|
* anything missing is filled from the models.dev catalog, and the billing
|
|
@@ -262,11 +281,15 @@ const LOCAL_PROVIDERS = new Set([
|
|
|
262
281
|
* discarded — the catalog prices the hosted API for the same model id, not
|
|
263
282
|
* the free local inference — so only the context window resolves (config
|
|
264
283
|
* `billing.costs`, if explicitly set, is still honored).
|
|
284
|
+
*
|
|
285
|
+
* `configuredContext` (the runtime context actually configured on the LLM
|
|
286
|
+
* entry — see {@link configuredLlmContext}) sits between the two sources:
|
|
287
|
+
* an explicit `billing.context` wins over it, and it wins over the catalog.
|
|
265
288
|
*/
|
|
266
|
-
export async function resolveLlmBilling(billing, modelId, provider) {
|
|
289
|
+
export async function resolveLlmBilling(billing, modelId, provider, configuredContext) {
|
|
267
290
|
const name = billing?.name ?? modelId;
|
|
268
291
|
const isLocal = provider !== undefined && LOCAL_PROVIDERS.has(provider);
|
|
269
|
-
let context = billing?.context;
|
|
292
|
+
let context = billing?.context ?? configuredContext;
|
|
270
293
|
let costs = billing?.costs ? configCostsToResolved(billing.costs) : undefined;
|
|
271
294
|
if (context === undefined || (costs === undefined && !isLocal)) {
|
|
272
295
|
const catalog = await loadCatalog();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/core/utils/billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/core/utils/billing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hoomanjs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.43.1",
|
|
4
4
|
"description": "Hackable AI agent toolkit for building local CLI, ACP, MCP, and channel-driven workflows.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Vaibhav Pandey",
|
|
@@ -102,6 +102,7 @@
|
|
|
102
102
|
"luxon": "^3.7.2",
|
|
103
103
|
"marked": "^18.0.2",
|
|
104
104
|
"millify": "^6.1.0",
|
|
105
|
+
"mlex.js": "^0.1.3",
|
|
105
106
|
"node-llama-cpp": "^3.19.0",
|
|
106
107
|
"ollama": "^0.6.3",
|
|
107
108
|
"openai": "^6.45.0",
|