hoomanjs 1.35.3 → 1.37.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 (137) hide show
  1. package/README.md +17 -13
  2. package/dist/acp/acp-agent.d.ts +40 -66
  3. package/dist/acp/acp-agent.js +786 -398
  4. package/dist/acp/acp-agent.js.map +1 -1
  5. package/dist/acp/approvals.d.ts +2 -2
  6. package/dist/acp/approvals.js +66 -58
  7. package/dist/acp/approvals.js.map +1 -1
  8. package/dist/acp/commands.d.ts +20 -0
  9. package/dist/acp/commands.js +66 -0
  10. package/dist/acp/commands.js.map +1 -0
  11. package/dist/acp/index.d.ts +1 -1
  12. package/dist/acp/index.js +1 -1
  13. package/dist/acp/index.js.map +1 -1
  14. package/dist/acp/mcp-servers.js +14 -8
  15. package/dist/acp/mcp-servers.js.map +1 -1
  16. package/dist/acp/prompt-invoke.js +103 -49
  17. package/dist/acp/prompt-invoke.js.map +1 -1
  18. package/dist/acp/session-config.d.ts +18 -0
  19. package/dist/acp/session-config.js +52 -0
  20. package/dist/acp/session-config.js.map +1 -0
  21. package/dist/acp/sessions/replay.d.ts +2 -2
  22. package/dist/acp/sessions/replay.js +28 -44
  23. package/dist/acp/sessions/replay.js.map +1 -1
  24. package/dist/acp/sessions/store.d.ts +4 -0
  25. package/dist/acp/sessions/store.js +5 -1
  26. package/dist/acp/sessions/store.js.map +1 -1
  27. package/dist/acp/utils/tool-kind.js +2 -2
  28. package/dist/acp/utils/tool-kind.js.map +1 -1
  29. package/dist/acp/utils/tool-result-content.d.ts +7 -0
  30. package/dist/acp/utils/tool-result-content.js +18 -0
  31. package/dist/acp/utils/tool-result-content.js.map +1 -1
  32. package/dist/chat/app.js +117 -1
  33. package/dist/chat/app.js.map +1 -1
  34. package/dist/chat/components/BottomChrome.d.ts +2 -1
  35. package/dist/chat/components/BottomChrome.js +2 -2
  36. package/dist/chat/components/BottomChrome.js.map +1 -1
  37. package/dist/chat/components/ReasoningStrip.js +3 -1
  38. package/dist/chat/components/ReasoningStrip.js.map +1 -1
  39. package/dist/chat/components/StatusBar.d.ts +2 -1
  40. package/dist/chat/components/StatusBar.js +18 -3
  41. package/dist/chat/components/StatusBar.js.map +1 -1
  42. package/dist/chat/components/ThoughtEvent.d.ts +3 -1
  43. package/dist/chat/components/ThoughtEvent.js +6 -2
  44. package/dist/chat/components/ThoughtEvent.js.map +1 -1
  45. package/dist/chat/components/Transcript.d.ts +5 -2
  46. package/dist/chat/components/Transcript.js +4 -4
  47. package/dist/chat/components/Transcript.js.map +1 -1
  48. package/dist/chat/components/markdown/CodeBlock.js.map +1 -1
  49. package/dist/cli.js +24 -1
  50. package/dist/cli.js.map +1 -1
  51. package/dist/configure/app.js +287 -64
  52. package/dist/configure/app.js.map +1 -1
  53. package/dist/configure/components/MenuScreen.js +29 -5
  54. package/dist/configure/components/MenuScreen.js.map +1 -1
  55. package/dist/configure/types.d.ts +8 -2
  56. package/dist/core/agent/index.js +17 -4
  57. package/dist/core/agent/index.js.map +1 -1
  58. package/dist/core/approvals/allowlist.d.ts +52 -0
  59. package/dist/core/approvals/allowlist.js +265 -0
  60. package/dist/core/approvals/allowlist.js.map +1 -0
  61. package/dist/core/approvals/bash-arity.d.ts +10 -0
  62. package/dist/core/approvals/bash-arity.js +178 -0
  63. package/dist/core/approvals/bash-arity.js.map +1 -0
  64. package/dist/core/approvals/intervention.d.ts +1 -2
  65. package/dist/core/approvals/intervention.js +5 -20
  66. package/dist/core/approvals/intervention.js.map +1 -1
  67. package/dist/core/approvals/wildcard.d.ts +14 -0
  68. package/dist/core/approvals/wildcard.js +27 -0
  69. package/dist/core/approvals/wildcard.js.map +1 -0
  70. package/dist/core/config.d.ts +352 -22
  71. package/dist/core/config.js +40 -0
  72. package/dist/core/config.js.map +1 -1
  73. package/dist/core/models/anthropic.d.ts +7 -1
  74. package/dist/core/models/anthropic.js +36 -7
  75. package/dist/core/models/anthropic.js.map +1 -1
  76. package/dist/core/models/azure.js +13 -0
  77. package/dist/core/models/azure.js.map +1 -1
  78. package/dist/core/models/bedrock.js +33 -0
  79. package/dist/core/models/bedrock.js.map +1 -1
  80. package/dist/core/models/google.js +5 -0
  81. package/dist/core/models/google.js.map +1 -1
  82. package/dist/core/models/groq.js +14 -0
  83. package/dist/core/models/groq.js.map +1 -1
  84. package/dist/core/models/minimax.js +2 -2
  85. package/dist/core/models/minimax.js.map +1 -1
  86. package/dist/core/models/moonshot.js +5 -0
  87. package/dist/core/models/moonshot.js.map +1 -1
  88. package/dist/core/models/ollama/index.js +5 -3
  89. package/dist/core/models/ollama/index.js.map +1 -1
  90. package/dist/core/models/openai.js +21 -1
  91. package/dist/core/models/openai.js.map +1 -1
  92. package/dist/core/models/openrouter.d.ts +2 -2
  93. package/dist/core/models/openrouter.js +28 -10
  94. package/dist/core/models/openrouter.js.map +1 -1
  95. package/dist/core/models/types.d.ts +759 -51
  96. package/dist/core/models/types.js +43 -7
  97. package/dist/core/models/types.js.map +1 -1
  98. package/dist/core/models/xai.js +12 -0
  99. package/dist/core/models/xai.js.map +1 -1
  100. package/dist/core/session-config.d.ts +10 -1
  101. package/dist/core/session-config.js +16 -0
  102. package/dist/core/session-config.js.map +1 -1
  103. package/dist/core/skills/built-in/hooman-config/SKILL.md +20 -12
  104. package/dist/core/state/file-tool-display.d.ts +6 -0
  105. package/dist/core/state/file-tool-display.js.map +1 -1
  106. package/dist/core/state/todos.d.ts +11 -0
  107. package/dist/core/state/todos.js +2 -0
  108. package/dist/core/state/todos.js.map +1 -1
  109. package/dist/core/state/tool-approvals.d.ts +6 -7
  110. package/dist/core/state/tool-approvals.js +7 -50
  111. package/dist/core/state/tool-approvals.js.map +1 -1
  112. package/dist/core/tools/filesystem.js +83 -27
  113. package/dist/core/tools/filesystem.js.map +1 -1
  114. package/dist/core/tools/shell.js +39 -0
  115. package/dist/core/tools/shell.js.map +1 -1
  116. package/dist/core/tools/terminal-backend.d.ts +41 -0
  117. package/dist/core/tools/terminal-backend.js +9 -0
  118. package/dist/core/tools/terminal-backend.js.map +1 -0
  119. package/dist/core/tools/text-fs-backend.d.ts +25 -0
  120. package/dist/core/tools/text-fs-backend.js +9 -0
  121. package/dist/core/tools/text-fs-backend.js.map +1 -0
  122. package/dist/core/tools/todo.d.ts +1 -0
  123. package/dist/core/tools/todo.js +2 -1
  124. package/dist/core/tools/todo.js.map +1 -1
  125. package/dist/core/tools/web-search.js +56 -1
  126. package/dist/core/tools/web-search.js.map +1 -1
  127. package/dist/core/utils/attachments.js.map +1 -1
  128. package/dist/core/utils/paths.d.ts +1 -0
  129. package/dist/core/utils/paths.js +1 -0
  130. package/dist/core/utils/paths.js.map +1 -1
  131. package/dist/index.d.ts +2 -1
  132. package/dist/index.js +2 -1
  133. package/dist/index.js.map +1 -1
  134. package/package.json +3 -2
  135. package/dist/acp/sessions/options.d.ts +0 -10
  136. package/dist/acp/sessions/options.js +0 -89
  137. package/dist/acp/sessions/options.js.map +0 -1
@@ -13,13 +13,40 @@ export var LlmProvider;
13
13
  LlmProvider["OpenRouter"] = "openrouter";
14
14
  LlmProvider["Xai"] = "xai";
15
15
  })(LlmProvider || (LlmProvider = {}));
16
+ /**
17
+ * Effort -> `budget_tokens` for providers that take an explicit thinking budget
18
+ * (Anthropic/MiniMax via the Anthropic API, Bedrock Converse). We always send a
19
+ * budget rather than omitting it; `medium` is the default when no effort is set.
20
+ */
21
+ export const REASONING_BUDGET_TOKENS = {
22
+ minimal: 1024,
23
+ low: 2048,
24
+ medium: 4096,
25
+ high: 8192,
26
+ };
16
27
  const NonEmptyStringSchema = z.string().min(1);
17
28
  const HeadersSchema = z.record(z.string(), z.string()).optional();
18
- export const AnthropicThinkingSchema = z.enum(["disabled", "adaptive"]);
19
- export const OllamaThinkingSchema = z.union([
20
- z.boolean(),
21
- z.enum(["high", "medium", "low"]),
29
+ export const OpenAIApiSchema = z.enum(["chat", "responses"]);
30
+ export const ReasoningEffortSchema = z.enum([
31
+ "minimal",
32
+ "low",
33
+ "medium",
34
+ "high",
35
+ ]);
36
+ export const ReasoningSummarySchema = z.enum([
37
+ "auto",
38
+ "concise",
39
+ "detailed",
40
+ "none",
22
41
  ]);
42
+ export const ReasoningDisplaySchema = z.enum(["summarized", "omitted"]);
43
+ export const ReasoningOptionsSchema = z
44
+ .object({
45
+ effort: ReasoningEffortSchema.optional(),
46
+ summary: ReasoningSummarySchema.optional(),
47
+ display: ReasoningDisplaySchema.optional(),
48
+ })
49
+ .strict();
23
50
  export const LlmOptionsSchema = z
24
51
  .object({
25
52
  model: NonEmptyStringSchema,
@@ -32,7 +59,7 @@ export const AnthropicProviderOptionsSchema = z
32
59
  apiKey: NonEmptyStringSchema.optional(),
33
60
  baseURL: NonEmptyStringSchema.optional(),
34
61
  headers: HeadersSchema,
35
- thinking: AnthropicThinkingSchema.optional(),
62
+ reasoning: ReasoningOptionsSchema.optional(),
36
63
  })
37
64
  .strict();
38
65
  export const AzureProviderOptionsSchema = z
@@ -43,6 +70,7 @@ export const AzureProviderOptionsSchema = z
43
70
  headers: HeadersSchema,
44
71
  apiVersion: NonEmptyStringSchema.optional(),
45
72
  useDeploymentBasedUrls: z.boolean().optional(),
73
+ reasoning: ReasoningOptionsSchema.optional(),
46
74
  })
47
75
  .strict();
48
76
  export const BedrockProviderOptionsSchema = z
@@ -52,6 +80,7 @@ export const BedrockProviderOptionsSchema = z
52
80
  secretAccessKey: NonEmptyStringSchema.optional(),
53
81
  sessionToken: NonEmptyStringSchema.optional(),
54
82
  apiKey: NonEmptyStringSchema.optional(),
83
+ reasoning: ReasoningOptionsSchema.optional(),
55
84
  })
56
85
  .strict()
57
86
  .superRefine((value, ctx) => {
@@ -67,6 +96,7 @@ export const BedrockProviderOptionsSchema = z
67
96
  export const GoogleProviderOptionsSchema = z
68
97
  .object({
69
98
  apiKey: NonEmptyStringSchema.optional(),
99
+ reasoning: ReasoningOptionsSchema.optional(),
70
100
  })
71
101
  .strict();
72
102
  export const GroqProviderOptionsSchema = z
@@ -74,13 +104,14 @@ export const GroqProviderOptionsSchema = z
74
104
  apiKey: NonEmptyStringSchema.optional(),
75
105
  baseURL: NonEmptyStringSchema.optional(),
76
106
  headers: HeadersSchema,
107
+ reasoning: ReasoningOptionsSchema.optional(),
77
108
  })
78
109
  .strict();
79
110
  export const MinimaxProviderOptionsSchema = z
80
111
  .object({
81
112
  apiKey: NonEmptyStringSchema.optional(),
82
113
  headers: HeadersSchema,
83
- thinking: AnthropicThinkingSchema.optional(),
114
+ reasoning: ReasoningOptionsSchema.optional(),
84
115
  })
85
116
  .strict();
86
117
  export const MoonshotProviderOptionsSchema = z
@@ -88,12 +119,13 @@ export const MoonshotProviderOptionsSchema = z
88
119
  apiKey: NonEmptyStringSchema.optional(),
89
120
  baseURL: NonEmptyStringSchema.optional(),
90
121
  headers: HeadersSchema,
122
+ reasoning: ReasoningOptionsSchema.optional(),
91
123
  })
92
124
  .strict();
93
125
  export const OllamaProviderOptionsSchema = z
94
126
  .object({
95
127
  baseURL: NonEmptyStringSchema.optional(),
96
- thinking: OllamaThinkingSchema.optional(),
128
+ reasoning: ReasoningOptionsSchema.optional(),
97
129
  })
98
130
  .strict();
99
131
  export const OpenAIProviderOptionsSchema = z
@@ -101,6 +133,8 @@ export const OpenAIProviderOptionsSchema = z
101
133
  apiKey: NonEmptyStringSchema.optional(),
102
134
  baseURL: NonEmptyStringSchema.optional(),
103
135
  headers: HeadersSchema,
136
+ api: OpenAIApiSchema.optional(),
137
+ reasoning: ReasoningOptionsSchema.optional(),
104
138
  })
105
139
  .strict();
106
140
  export const OpenRouterProviderOptionsSchema = z
@@ -108,6 +142,7 @@ export const OpenRouterProviderOptionsSchema = z
108
142
  apiKey: NonEmptyStringSchema.optional(),
109
143
  baseURL: NonEmptyStringSchema.optional(),
110
144
  headers: HeadersSchema,
145
+ reasoning: ReasoningOptionsSchema.optional(),
111
146
  })
112
147
  .strict();
113
148
  export const XaiProviderOptionsSchema = z
@@ -115,6 +150,7 @@ export const XaiProviderOptionsSchema = z
115
150
  apiKey: NonEmptyStringSchema.optional(),
116
151
  baseURL: NonEmptyStringSchema.optional(),
117
152
  headers: HeadersSchema,
153
+ reasoning: ReasoningOptionsSchema.optional(),
118
154
  })
119
155
  .strict();
120
156
  export const ProviderOptionsSchemas = {
@@ -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,WAYX;AAZD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,0BAAW,CAAA;AACb,CAAC,EAZW,WAAW,KAAX,WAAW,QAYtB;AA6FD,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAElE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,YAAY,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC3C,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;IACvD,MAAM,kBAAkB,GAAG,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC;IAC/D,IAAI,cAAc,KAAK,kBAAkB,EAAE,CAAC;QAC1C,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EACL,gEAAgE;SACnE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,aAAa;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,aAAa;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,aAAa;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,aAAa;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,aAAa;CACvB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,8BAA8B;IACvD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,0BAA0B;IAC/C,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4BAA4B;IACnD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,2BAA2B;IACjD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,yBAAyB;IAC7C,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4BAA4B;IACnD,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,6BAA6B;IACrD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,2BAA2B;IACjD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,2BAA2B;IACjD,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,+BAA+B;IACzD,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,wBAAwB;CACnC,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE;IACxE,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;QAC1C,OAAO,EAAE,8BAA8B;KACxC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,0BAA0B;KACpC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,OAAO,EAAE,4BAA4B;KACtC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,2BAA2B;KACrC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,OAAO,EAAE,yBAAyB;KACnC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,OAAO,EAAE,4BAA4B;KACtC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzC,OAAO,EAAE,6BAA6B;KACvC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,2BAA2B;KACrC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,2BAA2B;KACrC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC;QAC3C,OAAO,EAAE,+BAA+B;KACzC,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;QACpC,OAAO,EAAE,wBAAwB;KAClC,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpC,CAAC;KACD,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/models/types.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,15 @@ export function create(providerOptions, llmOptions) {
7
7
  headers: providerOptions.headers,
8
8
  }).filter((entry) => entry[1] !== undefined));
9
9
  const provider = Object.keys(settings).length > 0 ? createXai(settings) : xai;
10
+ // xAI's chat surface only accepts `reasoning_effort` of `low`/`high`
11
+ // (via `providerOptions.xai`), so `minimal`/`low` -> `low`, `medium`/`high` ->
12
+ // `high`. Only reasoning models (e.g. grok-3-mini) honor it.
13
+ const effort = providerOptions.reasoning?.effort;
14
+ const reasoningEffort = effort === undefined
15
+ ? undefined
16
+ : effort === "minimal" || effort === "low"
17
+ ? "low"
18
+ : "high";
10
19
  const config = {
11
20
  ...(llmOptions.temperature !== undefined
12
21
  ? { temperature: llmOptions.temperature }
@@ -14,6 +23,9 @@ export function create(providerOptions, llmOptions) {
14
23
  ...(llmOptions.maxTokens !== undefined
15
24
  ? { maxTokens: llmOptions.maxTokens }
16
25
  : {}),
26
+ ...(reasoningEffort
27
+ ? { providerOptions: { xai: { reasoningEffort } } }
28
+ : {}),
17
29
  };
18
30
  return new VercelModel({
19
31
  provider: provider(llmOptions.model),
@@ -1 +1 @@
1
- {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/core/models/xai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,MAAM,UAAU,MAAM,CACpB,eAAmC,EACnC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACtB,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/core/models/xai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAKhE,MAAM,UAAU,MAAM,CACpB,eAAmC,EACnC,UAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC;QACb,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,OAAO,EAAE,eAAe,CAAC,OAAO;KACjC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CACtB,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,qEAAqE;IACrE,+EAA+E;IAC/E,6DAA6D;IAC7D,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC;IACjD,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK;YACxC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,MAAM,CAAC;IACf,MAAM,MAAM,GAA+B;QACzC,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,eAAe;YACjB,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,IAAI,WAAW,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +1,18 @@
1
- import { Config } from "./config.js";
1
+ import { Config, type ConfigData, type ConfigUpdateResult } from "./config.js";
2
2
  /**
3
3
  * Session-scoped config keeps runtime chat/ACP overrides in memory without
4
4
  * rewriting the shared on-disk config file.
5
5
  */
6
6
  export declare class SessionConfig extends Config {
7
7
  persist(): void;
8
+ /**
9
+ * Persist an explicit user preference (e.g. the default model, reasoning
10
+ * effort) to the shared base config file. The change is derived from — and
11
+ * written to — a freshly loaded base config without project overlays, so the
12
+ * session's ephemeral overrides and any overlay-provided values never leak
13
+ * into the shared file. The live session's in-memory state is updated
14
+ * separately by the caller (via `update`).
15
+ */
16
+ persistToDisk(build: (config: Config) => Partial<ConfigData> | null): ConfigUpdateResult;
8
17
  }
9
18
  export declare function createSessionConfig(): SessionConfig;
@@ -9,6 +9,22 @@ export class SessionConfig extends Config {
9
9
  persist() {
10
10
  // Session config overrides are intentionally ephemeral.
11
11
  }
12
+ /**
13
+ * Persist an explicit user preference (e.g. the default model, reasoning
14
+ * effort) to the shared base config file. The change is derived from — and
15
+ * written to — a freshly loaded base config without project overlays, so the
16
+ * session's ephemeral overrides and any overlay-provided values never leak
17
+ * into the shared file. The live session's in-memory state is updated
18
+ * separately by the caller (via `update`).
19
+ */
20
+ persistToDisk(build) {
21
+ const base = new Config(this.path);
22
+ const partial = build(base);
23
+ if (!partial) {
24
+ return { ok: true };
25
+ }
26
+ return base.tryUpdate(partial);
27
+ }
12
28
  }
13
29
  export function createSessionConfig() {
14
30
  return new SessionConfig(configJsonPath(), runtimeConfigOptions());
@@ -1 +1 @@
1
- {"version":3,"file":"session-config.js","sourceRoot":"","sources":["../../src/core/session-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM;IACvB,OAAO;QACrB,wDAAwD;IAC1D,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"session-config.js","sourceRoot":"","sources":["../../src/core/session-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA4C,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM;IACvB,OAAO;QACrB,wDAAwD;IAC1D,CAAC;IAED;;;;;;;OAOG;IACa,aAAa,CAC3B,KAAqD;QAErD,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;AACrE,CAAC"}
@@ -59,6 +59,7 @@ This is the default shape Hooman writes when `~/.hooman/config.json` is missing:
59
59
  "brave": {},
60
60
  "exa": {},
61
61
  "firecrawl": {},
62
+ "litellm": {},
62
63
  "serper": {},
63
64
  "tavily": {}
64
65
  },
@@ -160,17 +161,17 @@ Common shape:
160
161
 
161
162
  Provider notes:
162
163
 
163
- - `anthropic`: provider `options` support `apiKey`, optional `baseURL`, optional `headers`, and optional `thinking` (`"disabled"` or `"adaptive"`). LLM `options` support `model`, `temperature`, and `maxTokens`.
164
- - `azure`: provider `options` support optional `resourceName`, optional `baseURL`, optional `apiKey`, optional `headers`, optional `apiVersion`, and optional `useDeploymentBasedUrls`. LLM `options` support `model`, `temperature`, and `maxTokens`. The `model` value should be your Azure deployment name.
165
- - `bedrock`: provider `options` support `region`, `accessKeyId`, `secretAccessKey`, `sessionToken`, and optional `apiKey`. LLM `options` support `model`, `temperature`, and `maxTokens`.
166
- - `google`: provider `options` support `apiKey`. LLM `options` support `model`, `temperature`, and `maxTokens` (Hooman maps this to the Google SDK's `maxOutputTokens` internally).
167
- - `groq`: provider `options` support `apiKey`, optional `baseURL`, and optional `headers`. LLM `options` support `model`, `temperature`, and `maxTokens`.
168
- - `minimax`: provider `options` support `apiKey`, optional `headers`, and optional `thinking`. Hooman routes this through the Anthropic-compatible MiniMax endpoint automatically.
169
- - `moonshot`: provider `options` support `apiKey`, optional `baseURL`, and optional `headers`. When omitted, Hooman defaults the base URL to `https://api.moonshot.ai/v1`.
170
- - `ollama`: provider `options` support optional `baseURL` and optional `thinking`. LLM `options` support `model`, `temperature`, and `maxTokens`.
171
- - `openai`: provider `options` support `apiKey`, optional `baseURL`, and optional `headers`. LLM `options` support `model`, `temperature`, and `maxTokens`.
172
- - `openrouter`: provider `options` support `apiKey`, optional `baseURL`, and optional `headers`. LLM `options` support `model`, `temperature`, and `maxTokens`. The `model` value is usually a provider-qualified OpenRouter model id such as `anthropic/claude-3.5-sonnet`.
173
- - `xai`: provider `options` support `apiKey`, optional `baseURL`, and optional `headers`. LLM `options` support `model`, `temperature`, and `maxTokens`.
164
+ - `anthropic`: provider `options` support `apiKey`, optional `baseURL`, optional `headers`, and optional `reasoning` (an object with optional `effort` — `"minimal"`, `"low"`, `"medium"`, `"high"` — and optional `display` — `"summarized"` or `"omitted"`). Providing `reasoning` enables extended thinking (sent as `thinking: { type: "enabled", budget_tokens }`); `effort` defaults to `"medium"` and maps to an explicit budget (`minimal`→1024, `low`→2048, `medium`→4096, `high`→8192). When thinking is enabled Hooman drops any custom `temperature` (Anthropic requires it unset/`1`). `display` is for Bedrock Claude (via an Anthropic-compatible proxy) and MiniMax only: newer Bedrock Claude models (e.g. Opus 4.7+) hide reasoning by default and reject `type: "enabled"`, so set `display: "summarized"` to reveal reasoning — this switches the request to `thinking: { type: "adaptive", display }` with `output_config.effort` (`minimal`→`low`, else passthrough). Do NOT set `display` for the native Anthropic API (api.anthropic.com); it rejects `adaptive`/`display`/`output_config`. Omit `reasoning` to keep thinking off. LLM `options` support `model`, `temperature`, and `maxTokens`.
165
+ - `azure`: provider `options` support optional `resourceName`, optional `baseURL`, optional `apiKey`, optional `headers`, optional `apiVersion`, optional `useDeploymentBasedUrls`, and optional `reasoning` (an object with optional `effort` — `"minimal"`, `"low"`, `"medium"`, `"high"` — and optional `summary` — `"auto"`, `"concise"`, `"detailed"`, `"none"`). `reasoning` uses the Azure OpenAI Responses API; only reasoning-capable deployments honor it. LLM `options` support `model`, `temperature`, and `maxTokens`. The `model` value should be your Azure deployment name.
166
+ - `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`.
167
+ - `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).
168
+ - `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`.
169
+ - `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.
170
+ - `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.
171
+ - `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`.
172
+ - `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).
173
+ - `openrouter`: provider `options` support `apiKey`, optional `baseURL`, optional `headers`, and optional `reasoning` (an object with optional `effort`). Served through the reasoning-aware openai-compatible adapter, so `reasoning`/`reasoning_content` deltas are surfaced as thinking. `reasoning.effort` maps to `reasoning_effort`, which OpenRouter normalizes for reasoning models. LLM `options` support `model`, `temperature`, and `maxTokens`. The `model` value is usually a provider-qualified OpenRouter model id such as `anthropic/claude-3.5-sonnet`.
174
+ - `xai`: provider `options` support `apiKey`, optional `baseURL`, optional `headers`, and optional `reasoning` (an object with optional `effort`). `reasoning.effort` maps to xAI's `reasoning_effort` (`low`/`high`; `minimal`/`low`→`low`, `medium`/`high`→`high`). Only reasoning models (e.g. grok-3-mini) honor it. LLM `options` support `model`, `temperature`, and `maxTokens`.
174
175
 
175
176
  Examples:
176
177
 
@@ -246,7 +247,7 @@ When editing `providers` or `llms`, preserve unrelated entries and API keys unle
246
247
 
247
248
  ## Search
248
249
 
249
- `search.provider` must be `"brave"`, `"exa"`, `"firecrawl"`, `"serper"`, or `"tavily"`.
250
+ `search.provider` must be `"brave"`, `"exa"`, `"firecrawl"`, `"litellm"`, `"serper"`, or `"tavily"`.
250
251
 
251
252
  ```json
252
253
  {
@@ -262,6 +263,11 @@ When editing `providers` or `llms`, preserve unrelated entries and API keys unle
262
263
  "firecrawl": {
263
264
  "apiKey": "..."
264
265
  },
266
+ "litellm": {
267
+ "baseURL": "https://your-litellm-host",
268
+ "apiKey": "sk-...",
269
+ "tool": "perplexity-search"
270
+ },
265
271
  "serper": {
266
272
  "apiKey": "..."
267
273
  },
@@ -276,6 +282,8 @@ Hooman calls Exa through the official **`exa-js`** SDK ([Exa search API](https:/
276
282
 
277
283
  Hooman calls Firecrawl through **`@mendable/firecrawl-js`** ([Firecrawl search API](https://docs.firecrawl.dev/api-reference/endpoint/search)).
278
284
 
285
+ The `litellm` provider calls a [LiteLLM](https://docs.litellm.ai/docs/search/) proxy's Perplexity-compatible `POST {baseURL}/v1/search/{tool}` endpoint using the virtual key as `apiKey`. It requires `baseURL`, `apiKey`, and `tool` (the `search_tool_name` registered on the proxy). The actual upstream search provider (perplexity, tavily, exa, brave, etc.) is chosen by the proxy config, so no provider API key is stored in Hooman.
286
+
279
287
  Defaults: `enabled: false`, `provider: "brave"`, all provider API keys unset.
280
288
 
281
289
  ## Prompts
@@ -9,6 +9,12 @@ export type StructuredPatchHunk = {
9
9
  export type FileToolDisplay = {
10
10
  previews?: string[];
11
11
  structuredPatch?: StructuredPatchHunk[];
12
+ /** Absolute path of the file this tool modified (ACP diffs + follow-along). */
13
+ path?: string;
14
+ /** Full content before the change; `null` when the file was newly created. */
15
+ oldText?: string | null;
16
+ /** Full content after the change. */
17
+ newText?: string;
12
18
  };
13
19
  type DisplayStateStore = {
14
20
  get(key: string): JSONValue | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"file-tool-display.js","sourceRoot":"","sources":["../../../src/core/state/file-tool-display.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAqBtD,SAAS,gBAAgB,CACvB,QAA2B;IAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACxD,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAyC;QAC5C,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAA2B,EAC3B,SAA6B,EAC7B,OAAwB;IAExB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,2BAA2B,EAAE;QACxC,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAC7B,CAAC,SAAS,CAAC,EAAE,OAAO;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAA2B,EAC3B,SAAwB;IAExB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IACtD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,GAAG,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"file-tool-display.js","sourceRoot":"","sources":["../../../src/core/state/file-tool-display.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AA2BtD,SAAS,gBAAgB,CACvB,QAA2B;IAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACxD,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAyC;QAC5C,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAA2B,EAC3B,SAA6B,EAC7B,OAAwB;IAExB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,2BAA2B,EAAE;QACxC,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAC7B,CAAC,SAAS,CAAC,EAAE,OAAO;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAA2B,EAC3B,SAAwB;IAExB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IACtD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,GAAG,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -6,6 +6,11 @@ export declare const TodoStatusSchema: z.ZodEnum<{
6
6
  completed: "completed";
7
7
  in_progress: "in_progress";
8
8
  }>;
9
+ export declare const TodoPrioritySchema: z.ZodEnum<{
10
+ low: "low";
11
+ medium: "medium";
12
+ high: "high";
13
+ }>;
9
14
  export declare const TodoItemSchema: z.ZodObject<{
10
15
  content: z.ZodString;
11
16
  status: z.ZodEnum<{
@@ -14,8 +19,14 @@ export declare const TodoItemSchema: z.ZodObject<{
14
19
  in_progress: "in_progress";
15
20
  }>;
16
21
  activeForm: z.ZodString;
22
+ priority: z.ZodDefault<z.ZodEnum<{
23
+ low: "low";
24
+ medium: "medium";
25
+ high: "high";
26
+ }>>;
17
27
  }, z.core.$strip>;
18
28
  export type TodoStatus = z.infer<typeof TodoStatusSchema>;
29
+ export type TodoPriority = z.infer<typeof TodoPrioritySchema>;
19
30
  export type TodoItem = z.infer<typeof TodoItemSchema>;
20
31
  type AppStateLike = {
21
32
  get<T = unknown>(key: string): T;
@@ -2,10 +2,12 @@ import { z } from "zod";
2
2
  export const TODO_ITEMS_STATE_KEY = "todo.items";
3
3
  export const TODO_VISIBLE_STATE_KEY = "todo.visible";
4
4
  export const TodoStatusSchema = z.enum(["pending", "in_progress", "completed"]);
5
+ export const TodoPrioritySchema = z.enum(["high", "medium", "low"]);
5
6
  export const TodoItemSchema = z.object({
6
7
  content: z.string().trim().min(1),
7
8
  status: TodoStatusSchema,
8
9
  activeForm: z.string().trim().min(1),
10
+ priority: TodoPrioritySchema.default("medium"),
9
11
  });
10
12
  function normalizeTodoItems(value) {
11
13
  if (!Array.isArray(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"todos.js","sourceRoot":"","sources":["../../../src/core/state/todos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"todos.js","sourceRoot":"","sources":["../../../src/core/state/todos.ts"],"names":[],"mappings":"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"}
@@ -11,19 +11,18 @@ export declare const EXIT_PLAN_MODE_TOOL = "exit_plan_mode";
11
11
  export declare const INTERNAL_ALWAYS_ALLOWED: Set<string>;
12
12
  /**
13
13
  * In session mode `plan`, block `write_file` / `edit_file` unless the target path resolves
14
- * under the app plans directory. Runs before session-wide “always allow” so plan boundaries
14
+ * under the app plans directory. Runs before any “always allow” grant so plan boundaries
15
15
  * cannot be overridden by tooling preferences.
16
16
  */
17
17
  export declare function planModeWriteEditRejectionMessage(agent: AgentLike, toolName: string, toolInput: unknown): string | null;
18
- export declare function getSessionAllowedTools(agent: AgentLike): string[];
19
18
  /**
20
- * Session-wide tool allowlist ("always allow" in UI), plus implicit allow for
21
- * read/write/edit when paths resolve under attachments or plans (reads), or
22
- * plans only (writes/edits).
19
+ * Implicit, always-on allow for filesystem tools whose targets stay inside
20
+ * trusted app-home dirs: reads under attachments or plans, writes/edits under
21
+ * plans. Persistent "always allow" grants are handled separately by the
22
+ * on-disk {@link Allowlist} (see `../approvals/allowlist.ts`).
23
23
  */
24
- export declare function isToolSessionAllowed(agent: AgentLike, toolName: string, toolInput?: unknown): boolean;
24
+ export declare function isImplicitlyAllowed(toolName: string, toolInput?: unknown): boolean;
25
25
  export declare function isToolVisible(mode: SessionMode, toolName: string, options?: {
26
26
  mcpReadOnlyHint?: boolean;
27
27
  }): boolean;
28
- export declare function allowToolForSession(agent: AgentLike, toolName: string): void;
29
28
  export {};
@@ -2,7 +2,6 @@ import { getModeTools } from "../modes/definitions.js";
2
2
  import { getModeState } from "./session-mode.js";
3
3
  import { isResolvedPathInsideDir, normalizeUserPath, } from "../utils/normalize-user-path.js";
4
4
  import { attachmentsPath, plansPath } from "../utils/paths.js";
5
- const SESSION_ALLOWED_TOOLS_KEY = "allowedTools";
6
5
  const READ_FILE_TOOL = "read_file";
7
6
  const READ_MULTIPLE_FILES_TOOL = "read_multiple_files";
8
7
  const WRITE_FILE_TOOL = "write_file";
@@ -44,7 +43,7 @@ function isPlainObjectRecord(value) {
44
43
  }
45
44
  /**
46
45
  * In session mode `plan`, block `write_file` / `edit_file` unless the target path resolves
47
- * under the app plans directory. Runs before session-wide “always allow” so plan boundaries
46
+ * under the app plans directory. Runs before any “always allow” grant so plan boundaries
48
47
  * cannot be overridden by tooling preferences.
49
48
  */
50
49
  export function planModeWriteEditRejectionMessage(agent, toolName, toolInput) {
@@ -108,45 +107,14 @@ function isImplicitPathAllowed(toolName, toolInput) {
108
107
  }
109
108
  return false;
110
109
  }
111
- function normalizeAllowedTools(value) {
112
- if (!Array.isArray(value)) {
113
- return [];
114
- }
115
- const unique = new Set();
116
- for (const entry of value) {
117
- if (typeof entry !== "string") {
118
- continue;
119
- }
120
- const normalized = entry.trim();
121
- if (!normalized) {
122
- continue;
123
- }
124
- unique.add(normalized);
125
- }
126
- return [...unique];
127
- }
128
- export function getSessionAllowedTools(agent) {
129
- const current = normalizeAllowedTools(agent.appState.get(SESSION_ALLOWED_TOOLS_KEY));
130
- const raw = agent.appState.get(SESSION_ALLOWED_TOOLS_KEY);
131
- if (!Array.isArray(raw) || current.length !== raw.length) {
132
- agent.appState.set(SESSION_ALLOWED_TOOLS_KEY, current);
133
- }
134
- return current;
135
- }
136
110
  /**
137
- * Session-wide tool allowlist ("always allow" in UI), plus implicit allow for
138
- * read/write/edit when paths resolve under attachments or plans (reads), or
139
- * plans only (writes/edits).
111
+ * Implicit, always-on allow for filesystem tools whose targets stay inside
112
+ * trusted app-home dirs: reads under attachments or plans, writes/edits under
113
+ * plans. Persistent "always allow" grants are handled separately by the
114
+ * on-disk {@link Allowlist} (see `../approvals/allowlist.ts`).
140
115
  */
141
- export function isToolSessionAllowed(agent, toolName, toolInput) {
142
- if (getSessionAllowedTools(agent).includes(toolName)) {
143
- return true;
144
- }
145
- if (isPlainObjectRecord(toolInput) &&
146
- isImplicitPathAllowed(toolName, toolInput)) {
147
- return true;
148
- }
149
- return false;
116
+ export function isImplicitlyAllowed(toolName, toolInput) {
117
+ return (isPlainObjectRecord(toolInput) && isImplicitPathAllowed(toolName, toolInput));
150
118
  }
151
119
  export function isToolVisible(mode, toolName, options) {
152
120
  const readOnlyHinted = options?.mcpReadOnlyHint === true;
@@ -162,15 +130,4 @@ export function isToolVisible(mode, toolName, options) {
162
130
  }
163
131
  return false;
164
132
  }
165
- export function allowToolForSession(agent, toolName) {
166
- const normalized = toolName.trim();
167
- if (!normalized) {
168
- return;
169
- }
170
- const allowed = getSessionAllowedTools(agent);
171
- if (allowed.includes(normalized)) {
172
- return;
173
- }
174
- agent.appState.set(SESSION_ALLOWED_TOOLS_KEY, [...allowed, normalized]);
175
- }
176
133
  //# sourceMappingURL=tool-approvals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-approvals.js","sourceRoot":"","sources":["../../../src/core/state/tool-approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-approvals.js","sourceRoot":"","sources":["../../../src/core/state/tool-approvals.ts"],"names":[],"mappings":"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"}