hoomanjs 1.40.2 → 1.41.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.
Files changed (160) hide show
  1. package/README.md +27 -655
  2. package/dist/acp/acp-agent.d.ts +16 -3
  3. package/dist/acp/acp-agent.js +369 -172
  4. package/dist/acp/acp-agent.js.map +1 -1
  5. package/dist/acp/commands.d.ts +6 -3
  6. package/dist/acp/commands.js +6 -24
  7. package/dist/acp/commands.js.map +1 -1
  8. package/dist/acp/meta/vscode.d.ts +10 -0
  9. package/dist/acp/meta/vscode.js +16 -0
  10. package/dist/acp/meta/vscode.js.map +1 -0
  11. package/dist/acp/questions.d.ts +18 -0
  12. package/dist/acp/questions.js +80 -0
  13. package/dist/acp/questions.js.map +1 -0
  14. package/dist/acp/session-config.d.ts +3 -1
  15. package/dist/acp/session-config.js +20 -8
  16. package/dist/acp/session-config.js.map +1 -1
  17. package/dist/acp/sessions/replay.js +117 -1
  18. package/dist/acp/sessions/replay.js.map +1 -1
  19. package/dist/acp/sessions/store.d.ts +55 -16
  20. package/dist/acp/sessions/store.js +174 -71
  21. package/dist/acp/sessions/store.js.map +1 -1
  22. package/dist/acp/utils/tool-kind.js +1 -0
  23. package/dist/acp/utils/tool-kind.js.map +1 -1
  24. package/dist/acp/utils/tool-result-content.d.ts +1 -0
  25. package/dist/acp/utils/tool-result-content.js +28 -1
  26. package/dist/acp/utils/tool-result-content.js.map +1 -1
  27. package/dist/chat/app.d.ts +3 -1
  28. package/dist/chat/app.js +84 -43
  29. package/dist/chat/app.js.map +1 -1
  30. package/dist/chat/components/BottomChrome.d.ts +12 -3
  31. package/dist/chat/components/BottomChrome.js +2 -2
  32. package/dist/chat/components/BottomChrome.js.map +1 -1
  33. package/dist/chat/components/ChromePicker.d.ts +5 -1
  34. package/dist/chat/components/ChromePicker.js +6 -2
  35. package/dist/chat/components/ChromePicker.js.map +1 -1
  36. package/dist/chat/components/QuestionPrompt.d.ts +8 -0
  37. package/dist/chat/components/QuestionPrompt.js +41 -0
  38. package/dist/chat/components/QuestionPrompt.js.map +1 -0
  39. package/dist/chat/components/StatusBar.d.ts +8 -3
  40. package/dist/chat/components/StatusBar.js +55 -26
  41. package/dist/chat/components/StatusBar.js.map +1 -1
  42. package/dist/chat/index.d.ts +2 -0
  43. package/dist/chat/index.js +1 -1
  44. package/dist/chat/index.js.map +1 -1
  45. package/dist/chat/questions.d.ts +24 -0
  46. package/dist/chat/questions.js +71 -0
  47. package/dist/chat/questions.js.map +1 -0
  48. package/dist/cli.js +11 -0
  49. package/dist/cli.js.map +1 -1
  50. package/dist/core/agent/index.d.ts +3 -0
  51. package/dist/core/agent/index.js +11 -11
  52. package/dist/core/agent/index.js.map +1 -1
  53. package/dist/core/agent/prompt-cache-plugin.d.ts +1 -1
  54. package/dist/core/agent/prompt-cache-plugin.js +1 -1
  55. package/dist/core/agent/session-title-plugin.d.ts +27 -0
  56. package/dist/core/agent/session-title-plugin.js +77 -0
  57. package/dist/core/agent/session-title-plugin.js.map +1 -0
  58. package/dist/core/config.d.ts +33 -1
  59. package/dist/core/config.js +2 -0
  60. package/dist/core/config.js.map +1 -1
  61. package/dist/core/index.d.ts +12 -0
  62. package/dist/core/index.js +7 -2
  63. package/dist/core/index.js.map +1 -1
  64. package/dist/core/mcp/index.d.ts +3 -3
  65. package/dist/core/mcp/index.js +2 -2
  66. package/dist/core/mcp/index.js.map +1 -1
  67. package/dist/core/mcp/manager.d.ts +28 -0
  68. package/dist/core/mcp/manager.js +171 -2
  69. package/dist/core/mcp/manager.js.map +1 -1
  70. package/dist/core/models/anthropic.d.ts +4 -3
  71. package/dist/core/models/anthropic.js.map +1 -1
  72. package/dist/core/models/azure.js +5 -1
  73. package/dist/core/models/azure.js.map +1 -1
  74. package/dist/core/models/groq.js +5 -1
  75. package/dist/core/models/groq.js.map +1 -1
  76. package/dist/core/models/minimax.d.ts +2 -1
  77. package/dist/core/models/minimax.js +49 -7
  78. package/dist/core/models/minimax.js.map +1 -1
  79. package/dist/core/models/moonshot.js +5 -1
  80. package/dist/core/models/moonshot.js.map +1 -1
  81. package/dist/core/models/openai.js +6 -1
  82. package/dist/core/models/openai.js.map +1 -1
  83. package/dist/core/models/openrouter.js +5 -1
  84. package/dist/core/models/openrouter.js.map +1 -1
  85. package/dist/core/models/types.d.ts +54 -6
  86. package/dist/core/models/types.js +18 -2
  87. package/dist/core/models/types.js.map +1 -1
  88. package/dist/core/models/usage.d.ts +10 -0
  89. package/dist/core/models/usage.js +45 -0
  90. package/dist/core/models/usage.js.map +1 -0
  91. package/dist/core/models/xai.js +5 -1
  92. package/dist/core/models/xai.js.map +1 -1
  93. package/dist/core/modes/definitions.js +2 -0
  94. package/dist/core/modes/definitions.js.map +1 -1
  95. package/dist/core/prompts/environment.d.ts +10 -1
  96. package/dist/core/prompts/environment.js +15 -1
  97. package/dist/core/prompts/environment.js.map +1 -1
  98. package/dist/core/prompts/static/ask-user.md +7 -0
  99. package/dist/core/prompts/static/environment.md +2 -1
  100. package/dist/core/prompts/static/filesystem.md +1 -1
  101. package/dist/core/prompts/static/web-search.md +1 -1
  102. package/dist/core/prompts/system.d.ts +6 -0
  103. package/dist/core/prompts/system.js +12 -1
  104. package/dist/core/prompts/system.js.map +1 -1
  105. package/dist/core/sessions/generate-title.d.ts +10 -0
  106. package/dist/core/sessions/generate-title.js +113 -0
  107. package/dist/core/sessions/generate-title.js.map +1 -0
  108. package/dist/core/sessions/list-cli-sessions.js +13 -1
  109. package/dist/core/sessions/list-cli-sessions.js.map +1 -1
  110. package/dist/core/skills/built-in/hooman-config/providers.md +17 -0
  111. package/dist/core/skills/built-in/hooman-mcp/SKILL.md +20 -0
  112. package/dist/core/skills/built-in/hooman-skills/SKILL.md +1 -1
  113. package/dist/core/state/session-title.d.ts +17 -0
  114. package/dist/core/state/session-title.js +15 -0
  115. package/dist/core/state/session-title.js.map +1 -0
  116. package/dist/core/state/tool-approvals.js +3 -0
  117. package/dist/core/state/tool-approvals.js.map +1 -1
  118. package/dist/core/tools/ask-user.d.ts +46 -0
  119. package/dist/core/tools/ask-user.js +66 -0
  120. package/dist/core/tools/ask-user.js.map +1 -0
  121. package/dist/core/tools/filesystem.d.ts +26 -1
  122. package/dist/core/tools/filesystem.js +44 -23
  123. package/dist/core/tools/filesystem.js.map +1 -1
  124. package/dist/core/tools/index.d.ts +1 -0
  125. package/dist/core/tools/index.js +1 -0
  126. package/dist/core/tools/index.js.map +1 -1
  127. package/dist/core/tools/shell.d.ts +41 -0
  128. package/dist/core/tools/shell.js +8 -1
  129. package/dist/core/tools/shell.js.map +1 -1
  130. package/dist/core/tools/time.js +1 -1
  131. package/dist/core/tools/time.js.map +1 -1
  132. package/dist/core/utils/billing.d.ts +49 -0
  133. package/dist/core/utils/billing.js +295 -0
  134. package/dist/core/utils/billing.js.map +1 -0
  135. package/dist/core/utils/edit-replace.d.ts +6 -0
  136. package/dist/core/utils/edit-replace.js +88 -6
  137. package/dist/core/utils/edit-replace.js.map +1 -1
  138. package/dist/core/utils/paths.d.ts +1 -0
  139. package/dist/core/utils/paths.js +1 -0
  140. package/dist/core/utils/paths.js.map +1 -1
  141. package/dist/core/{models → utils}/reasoning-effort.d.ts +9 -0
  142. package/dist/core/utils/reasoning-effort.js.map +1 -0
  143. package/dist/daemon/questions.d.ts +18 -0
  144. package/dist/daemon/questions.js +44 -0
  145. package/dist/daemon/questions.js.map +1 -0
  146. package/dist/exec/questions.d.ts +9 -0
  147. package/dist/exec/questions.js +50 -0
  148. package/dist/exec/questions.js.map +1 -0
  149. package/dist/index.d.ts +7 -6
  150. package/dist/index.js +6 -5
  151. package/dist/index.js.map +1 -1
  152. package/package.json +3 -2
  153. package/dist/core/models/reasoning-effort.js.map +0 -1
  154. package/dist/core/tools/terminal-backend.d.ts +0 -41
  155. package/dist/core/tools/terminal-backend.js +0 -9
  156. package/dist/core/tools/terminal-backend.js.map +0 -1
  157. package/dist/core/tools/text-fs-backend.d.ts +0 -25
  158. package/dist/core/tools/text-fs-backend.js +0 -9
  159. package/dist/core/tools/text-fs-backend.js.map +0 -1
  160. /package/dist/core/{models → utils}/reasoning-effort.js +0 -0
@@ -19,10 +19,37 @@ export function fileToolDiffContent(display) {
19
19
  function capText(text, max = 12_000) {
20
20
  return text.length > max ? `${text.slice(0, max)}\n...(truncated)` : text;
21
21
  }
22
+ /**
23
+ * Extract display text from the result's content blocks: text blocks pass
24
+ * through verbatim (tools like read_file return plain text on purpose — do
25
+ * not re-wrap it in JSON), JSON blocks are pretty-printed.
26
+ */
27
+ function blocksToText(content) {
28
+ if (!Array.isArray(content) || content.length === 0) {
29
+ return undefined;
30
+ }
31
+ const parts = [];
32
+ for (const raw of content) {
33
+ const block = raw;
34
+ if (block?.type === "textBlock" && typeof block.text === "string") {
35
+ parts.push(block.text);
36
+ }
37
+ else if (block?.type === "jsonBlock") {
38
+ parts.push(JSON.stringify(block.json, null, 2));
39
+ }
40
+ else {
41
+ return undefined; // media or unknown block: fall back to full JSON
42
+ }
43
+ }
44
+ return parts.join("\n");
45
+ }
22
46
  export function toolResultToAcpContent(result) {
23
47
  let text;
24
48
  try {
25
- text = JSON.stringify(result.toJSON?.() ?? result, null, 2) ?? "";
49
+ text =
50
+ blocksToText(result.content) ??
51
+ JSON.stringify(result.toJSON?.() ?? result, null, 2) ??
52
+ "";
26
53
  }
27
54
  catch {
28
55
  text = JSON.stringify({ toolUseId: result.toolUseId, status: result.status }, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-content.js","sourceRoot":"","sources":["../../../src/acp/utils/tool-result-content.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAoC;IAEpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;KACF,CAAC;AACJ,CAAC;AAQD,SAAS,OAAO,CAAC,IAAY,EAAE,GAAG,GAAG,MAAM;IACzC,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAsB;IAEtB,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC,SAAS,CACnB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACtD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"tool-result-content.js","sourceRoot":"","sources":["../../../src/acp/utils/tool-result-content.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAoC;IAEpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;KACF,CAAC;AACJ,CAAC;AASD,SAAS,OAAO,CAAC,IAAY,EAAE,GAAG,GAAG,MAAM;IACzC,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAgB;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAwD,CAAC;QACvE,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC,CAAC,iDAAiD;QACrE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAsB;IAEtB,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI;YACF,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,EAAE,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC,SAAS,CACnB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACtD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC"}
@@ -4,6 +4,7 @@ import type { Config } from "../core/config.js";
4
4
  import type { Manager as McpManager } from "../core/mcp/index.js";
5
5
  import type { Registry } from "../core/skills/index.js";
6
6
  import { ChatApprovalController } from "./approvals.js";
7
+ import { ChatQuestionController } from "./questions.js";
7
8
  import { ChatTurnSteeringController } from "./steering.js";
8
9
  type ChatAppProps = {
9
10
  agent: Agent;
@@ -12,6 +13,7 @@ type ChatAppProps = {
12
13
  manager: McpManager;
13
14
  registry: Registry;
14
15
  approvals: ChatApprovalController;
16
+ questions: ChatQuestionController;
15
17
  steering: ChatTurnSteeringController;
16
18
  prompt?: string;
17
19
  onExit: () => void;
@@ -19,5 +21,5 @@ type ChatAppProps = {
19
21
  onResumeSession: (sessionId: string) => void;
20
22
  onConfigure: () => void;
21
23
  };
22
- export declare function ChatApp({ agent, config, sessionId, manager, registry, approvals, steering, prompt, onExit, onNewSession, onResumeSession, onConfigure, }: ChatAppProps): React.JSX.Element;
24
+ export declare function ChatApp({ agent, config, sessionId, manager, registry, approvals, questions, steering, prompt, onExit, onNewSession, onResumeSession, onConfigure, }: ChatAppProps): React.JSX.Element;
23
25
  export {};
package/dist/chat/app.js CHANGED
@@ -5,7 +5,9 @@ import { Box, Static, useApp, useInput, useWindowSize } from "ink";
5
5
  import { Message, TextBlock, ToolResultBlock, ToolUseBlock, } from "@strands-agents/sdk";
6
6
  import { createEmptyUsage } from "../core/utils/strands-usage-accumulate.js";
7
7
  import { modelProviders } from "../core/models/index.js";
8
- import { currentReasoningEffort, nextReasoningEffort, parseReasoningEffortArg, readProviderEffort, REASONING_EFFORT_LEVELS, REASONING_EFFORT_OFF, withReasoningEffort, } from "../core/models/reasoning-effort.js";
8
+ import { toAdditiveUsage } from "../core/models/usage.js";
9
+ import { computeUsageCostUsd, contextTokensFromUsage, resolveLlmBilling, } from "../core/utils/billing.js";
10
+ import { currentReasoningEffort, nextReasoningEffort, parseReasoningEffortArg, readProviderEffort, REASONING_EFFORT_LEVELS, REASONING_EFFORT_OFF, withReasoningEffort, } from "../core/utils/reasoning-effort.js";
9
11
  import { formatModeNames, isKnownSessionMode } from "../core/modes/index.js";
10
12
  import { takeFileToolDisplay } from "../core/state/file-tool-display.js";
11
13
  import { BottomChrome } from "./components/BottomChrome.js";
@@ -318,19 +320,38 @@ function matchingSlashCommands(input) {
318
320
  }
319
321
  return SLASH_COMMANDS.filter((item) => item.name.startsWith(query));
320
322
  }
321
- export function ChatApp({ agent, config, sessionId, manager, registry, approvals, steering, prompt, onExit, onNewSession, onResumeSession, onConfigure, }) {
323
+ export function ChatApp({ agent, config, sessionId, manager, registry, approvals, questions, steering, prompt, onExit, onNewSession, onResumeSession, onConfigure, }) {
322
324
  const { exit } = useApp();
323
325
  const windowSize = useWindowSize();
324
326
  const [input, setInput] = useState("");
325
327
  const [running, setRunning] = useState(false);
326
- const [status, setStatus] = useState("ready");
327
328
  const [lines, setLines] = useState(() => buildInitialTranscript(agent.messages));
328
- const [turnCount, setTurnCount] = useState(0);
329
329
  const [skillsFound, setSkillsFound] = useState(0);
330
330
  const [turnStartedAt, setTurnStartedAt] = useState(null);
331
331
  const [turnElapsedMs, setTurnElapsedMs] = useState(0);
332
332
  const [usage, setUsage] = useState(emptyTurnUsage);
333
+ const [billing, setBilling] = useState(null);
334
+ const [billingMeter, setBillingMeter] = useState({
335
+ costUsd: 0,
336
+ unpriced: false,
337
+ });
338
+ const billingRef = useRef(null);
339
+ // Resolve billing metadata (config `billing` block merged with the daily
340
+ // models.dev catalog cache) for the active model; re-run on model switches.
341
+ const refreshBilling = useCallback(() => {
342
+ const resolved = config.llm;
343
+ void resolveLlmBilling(resolved.billing, resolved.llmOptions.model)
344
+ .catch(() => null)
345
+ .then((next) => {
346
+ billingRef.current = next;
347
+ setBilling(next);
348
+ });
349
+ }, [config]);
350
+ useEffect(() => {
351
+ refreshBilling();
352
+ }, [refreshBilling]);
333
353
  const [pendingApproval, setPendingApproval] = useState(null);
354
+ const [pendingQuestion, setPendingQuestion] = useState(null);
334
355
  const [picker, setPicker] = useState(null);
335
356
  /** Forces StatusBar to re-read yolo/mode from agent when those change without a picker close or rebuild. */
336
357
  const [, setSessionChromeEpoch] = useState(0);
@@ -418,6 +439,14 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
418
439
  cleanupListener();
419
440
  };
420
441
  }, [approvals]);
442
+ useEffect(() => {
443
+ const cleanupListener = questions.subscribe(() => {
444
+ setPendingQuestion(questions.pending);
445
+ });
446
+ return () => {
447
+ cleanupListener();
448
+ };
449
+ }, [questions]);
421
450
  useEffect(() => {
422
451
  let active = true;
423
452
  const refresh = () => {
@@ -615,6 +644,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
615
644
  })),
616
645
  }
617
646
  : null);
647
+ refreshBilling();
618
648
  }
619
649
  catch (error) {
620
650
  config.update({
@@ -631,7 +661,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
631
661
  done: true,
632
662
  });
633
663
  }
634
- }, [agent, appendLine, config]);
664
+ }, [agent, appendLine, config, refreshBilling]);
635
665
  const applyReasoningEffort = useCallback(async (nextEffort, providerName) => {
636
666
  const nextProviders = config.providers.map((entry) => entry.name === providerName
637
667
  ? {
@@ -937,9 +967,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
937
967
  const attachmentBlocks = await attachmentPathsToPromptBlocks(prompt.attachments);
938
968
  runningRef.current = true;
939
969
  setRunning(true);
940
- setStatus("thinking");
941
970
  setTurnStartedAt(Date.now());
942
- setTurnCount((value) => value + 1);
943
971
  appendLine({
944
972
  id: nowId(),
945
973
  role: "user",
@@ -1041,54 +1069,62 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1041
1069
  break;
1042
1070
  }
1043
1071
  case "toolStreamUpdateEvent":
1044
- setStatus("running tool");
1045
1072
  break;
1046
1073
  case "modelStreamUpdateEvent": {
1047
1074
  const modelEvent = e.event;
1048
1075
  if (modelEvent?.type === "modelContentBlockDeltaEvent") {
1049
1076
  const delta = modelEvent.delta;
1050
1077
  if (delta?.type === "reasoningContentDelta" && delta.text) {
1051
- setStatus("thinking");
1052
1078
  appendThoughtText(delta.text);
1053
1079
  }
1054
1080
  else if (delta?.type === "textDelta" && delta.text) {
1055
1081
  finalizeThoughtLine();
1056
- setStatus("streaming");
1057
1082
  ensureAssistantLine();
1058
1083
  appendAssistantText(delta.text);
1059
1084
  }
1060
1085
  }
1061
1086
  if (modelEvent?.type === "modelMetadataEvent") {
1062
- const u = (modelEvent.usage ?? {});
1087
+ // Normalize to the additive shape first: some providers
1088
+ // (OpenAI, Vercel-backed) report input inclusive of cache
1089
+ // reads, so `in`/`cin` would double-count without it.
1090
+ const u = toAdditiveUsage((modelEvent.usage ?? {}), agent.model);
1063
1091
  const metricsData = (modelEvent.metrics ?? {});
1064
1092
  const lat = metricsData.latencyMs ?? 0;
1065
- // Cumulative billing meter: sum every request's token usage over
1066
- // the session, cache reads included. Cache reads recur on every
1067
- // request and are billed each time (at a reduced rate), so the
1068
- // running total reflects what the session actually costs rather
1069
- // than the current context-window size.
1070
- setUsage((prev) => {
1071
- const inputTokens = prev.inputTokens + (u.inputTokens ?? 0);
1072
- const outputTokens = prev.outputTokens + (u.outputTokens ?? 0);
1073
- const cacheRead = (prev.cacheReadInputTokens ?? 0) +
1074
- (u.cacheReadInputTokens ?? 0);
1075
- const cacheWrite = (prev.cacheWriteInputTokens ?? 0) +
1076
- (u.cacheWriteInputTokens ?? 0);
1077
- const hasCacheRead = prev.cacheReadInputTokens !== undefined ||
1078
- u.cacheReadInputTokens !== undefined;
1079
- const hasCacheWrite = prev.cacheWriteInputTokens !== undefined ||
1080
- u.cacheWriteInputTokens !== undefined;
1081
- return {
1082
- inputTokens,
1083
- outputTokens,
1084
- totalTokens: inputTokens + cacheRead + cacheWrite + outputTokens,
1085
- ...(hasCacheRead && { cacheReadInputTokens: cacheRead }),
1086
- ...(hasCacheWrite && {
1087
- cacheWriteInputTokens: cacheWrite,
1088
- }),
1089
- latencyMs: prev.latencyMs + lat,
1090
- };
1093
+ // Per-request token meter: show the latest request's usage
1094
+ // (uncached input, cached input, output) rather than a session
1095
+ // running total the context gauge already reflects overall
1096
+ // window consumption, so the token row reports "this turn".
1097
+ const inputTokens = u.inputTokens ?? 0;
1098
+ const outputTokens = u.outputTokens ?? 0;
1099
+ const cacheRead = u.cacheReadInputTokens ?? 0;
1100
+ const cacheWrite = u.cacheWriteInputTokens ?? 0;
1101
+ const hasCacheRead = u.cacheReadInputTokens !== undefined;
1102
+ const hasCacheWrite = u.cacheWriteInputTokens !== undefined;
1103
+ setUsage({
1104
+ inputTokens,
1105
+ outputTokens,
1106
+ totalTokens: inputTokens + cacheRead + cacheWrite + outputTokens,
1107
+ ...(hasCacheRead && { cacheReadInputTokens: cacheRead }),
1108
+ ...(hasCacheWrite && {
1109
+ cacheWriteInputTokens: cacheWrite,
1110
+ }),
1111
+ latencyMs: lat,
1091
1112
  });
1113
+ // Session cost accrues per request at the current model's
1114
+ // resolved rates; once a request runs unpriced the total is
1115
+ // incomplete and the cost display stops for the session.
1116
+ const rates = billingRef.current;
1117
+ const contextUsed = contextTokensFromUsage(u);
1118
+ const hasTokens = contextUsed + (u.outputTokens ?? 0) > 0;
1119
+ if (hasTokens) {
1120
+ setBillingMeter((prev) => ({
1121
+ costUsd: rates?.costs
1122
+ ? prev.costUsd + computeUsageCostUsd(u, rates.costs)
1123
+ : prev.costUsd,
1124
+ unpriced: prev.unpriced || !rates?.costs,
1125
+ contextUsed,
1126
+ }));
1127
+ }
1092
1128
  }
1093
1129
  break;
1094
1130
  }
@@ -1121,7 +1157,6 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1121
1157
  runningRef.current = false;
1122
1158
  setRunning(false);
1123
1159
  setTurnStartedAt(null);
1124
- setStatus("ready");
1125
1160
  }
1126
1161
  }, [
1127
1162
  appendAssistantText,
@@ -1188,7 +1223,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1188
1223
  }
1189
1224
  }, [prompt, pushPrompt]);
1190
1225
  const onSubmit = useCallback((value) => {
1191
- if (pendingApproval) {
1226
+ if (pendingApproval || pendingQuestion) {
1192
1227
  return;
1193
1228
  }
1194
1229
  const trimmed = value.text.trim();
@@ -1277,6 +1312,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1277
1312
  handleSessionsCommand,
1278
1313
  handleYoloCommand,
1279
1314
  pendingApproval,
1315
+ pendingQuestion,
1280
1316
  pushPrompt,
1281
1317
  steering,
1282
1318
  ]);
@@ -1298,7 +1334,6 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1298
1334
  if (key.ctrl && inputKey.toLowerCase() === "c") {
1299
1335
  if (runningRef.current) {
1300
1336
  agent.cancel();
1301
- setStatus("cancel requested");
1302
1337
  return;
1303
1338
  }
1304
1339
  if (picker) {
@@ -1316,7 +1351,6 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1316
1351
  }
1317
1352
  if (runningRef.current) {
1318
1353
  agent.cancel();
1319
- setStatus("cancel requested");
1320
1354
  return;
1321
1355
  }
1322
1356
  onExit();
@@ -1325,7 +1359,7 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1325
1359
  },
1326
1360
  // Keep active while a turn runs so Esc / Ctrl+C can call `agent.cancel()`.
1327
1361
  // When `running` was false here, keys never reached this handler during streaming.
1328
- { isActive: !pendingApproval });
1362
+ { isActive: !pendingApproval && !pendingQuestion });
1329
1363
  const elapsedLabel = useMemo(() => {
1330
1364
  const seconds = Math.floor(turnElapsedMs / 1000);
1331
1365
  const min = Math.floor(seconds / 60);
@@ -1354,7 +1388,14 @@ export function ChatApp({ agent, config, sessionId, manager, registry, approvals
1354
1388
  // composer pinned to the bottom). Once any line exists the region collapses to
1355
1389
  // its natural height and finished lines flow into the terminal scrollback.
1356
1390
  const isEmpty = lines.length === 0;
1357
- return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Static, { items: committedLines, children: (line) => (_jsx(Box, { paddingX: 1, children: _jsx(TranscriptLine, { line: line, assistantName: config.name, reasoningDisplay: config.reasoning }) }, line.id)) }), _jsxs(Box, { flexDirection: "column", width: "100%", paddingX: 1, ...(isEmpty ? { height: Math.max(1, windowSize.rows - 1) } : {}), children: [isEmpty ? (_jsx(Box, { flexDirection: "column", flexGrow: 1, justifyContent: "center", children: _jsx(EmptyChatBanner, {}) })) : null, _jsx(LiveTranscript, { lines: liveLines, assistantName: config.name, reasoningDisplay: config.reasoning }), _jsx(BottomChrome, { config: config, running: running, status: status, currentModel: currentModelLabel(config), reasoningEffort: currentReasoningEffort(config), yoloOn: isYoloEnabled(agent), sessionMode: getModeState(agent).mode, elapsedLabel: elapsedLabel, turnCount: turnCount, totalTools: totalTools, skillsFound: skillsFound, manager: manager, mcpNeedsAttention: mcpNeedsAttention, usage: usage, todoState: todoState, queuedPrompts: queuedPrompts, pendingApproval: Boolean(pendingApproval), approvalRequest: pendingApproval, picker: picker, sessionItems: sessionItems, slashCommands: slashCommands, slashHighlightIndex: slashHighlightIndex, input: input, inputHint: inputHint, slashMenu: slashMenu, onApprovalDecision: (decision, reason) => approvals.decide(decision, reason), onModelSelect: (name) => {
1391
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Static, { items: committedLines, children: (line) => (_jsx(Box, { paddingX: 1, children: _jsx(TranscriptLine, { line: line, assistantName: config.name, reasoningDisplay: config.reasoning }) }, line.id)) }), _jsxs(Box, { flexDirection: "column", width: "100%", paddingX: 1, ...(isEmpty ? { height: Math.max(1, windowSize.rows - 1) } : {}), children: [isEmpty ? (_jsx(Box, { flexDirection: "column", flexGrow: 1, justifyContent: "center", children: _jsx(EmptyChatBanner, {}) })) : null, _jsx(LiveTranscript, { lines: liveLines, assistantName: config.name, reasoningDisplay: config.reasoning }), _jsx(BottomChrome, { config: config, running: running, currentModel: currentModelLabel(config), reasoningEffort: currentReasoningEffort(config), yoloOn: isYoloEnabled(agent), sessionMode: getModeState(agent).mode, elapsedLabel: elapsedLabel, totalTools: totalTools, skillsFound: skillsFound, manager: manager, mcpNeedsAttention: mcpNeedsAttention, usage: usage, contextUsage: billing?.context !== undefined &&
1392
+ billingMeter.contextUsed !== undefined
1393
+ ? { used: billingMeter.contextUsed, size: billing.context }
1394
+ : undefined, costUsd: billing?.costs !== undefined &&
1395
+ !billingMeter.unpriced &&
1396
+ billingMeter.contextUsed !== undefined
1397
+ ? billingMeter.costUsd
1398
+ : undefined, todoState: todoState, queuedPrompts: queuedPrompts, pendingApproval: Boolean(pendingApproval), approvalRequest: pendingApproval, pendingQuestion: pendingQuestion, picker: picker, sessionItems: sessionItems, slashCommands: slashCommands, slashHighlightIndex: slashHighlightIndex, input: input, inputHint: inputHint, slashMenu: slashMenu, onApprovalDecision: (decision, reason) => approvals.decide(decision, reason), onQuestionAnswer: (answer) => questions.answer(answer), onQuestionDismiss: () => questions.dismiss(), onModelSelect: (name) => {
1358
1399
  setPicker(null);
1359
1400
  void handleModelCommand(name);
1360
1401
  }, onEffortSelect: (value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/chat/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/chat/app.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { Config } from "../../core/config.js";
4
4
  import type { SessionMode } from "../../core/state/session-mode.js";
5
5
  import { type ChatPicker } from "./ChromePicker.js";
6
6
  import type { ApprovalDecision, ApprovalRequest } from "../types.js";
7
+ import type { ChatQuestion } from "../questions.js";
7
8
  import type { PromptSubmission } from "./prompt-input/hooks/usePromptInputController.js";
8
9
  import type { SlashCommandMenuProps } from "./prompt-input/hooks/usePromptInputController.js";
9
10
  type QueuedPrompt = {
@@ -13,13 +14,11 @@ type QueuedPrompt = {
13
14
  type BottomChromeProps = {
14
15
  config: Config;
15
16
  running: boolean;
16
- status: string;
17
17
  currentModel: string;
18
18
  reasoningEffort?: string;
19
19
  yoloOn: boolean;
20
20
  sessionMode: SessionMode;
21
21
  elapsedLabel: string;
22
- turnCount: number;
23
22
  totalTools: number;
24
23
  skillsFound: number;
25
24
  manager: McpManager;
@@ -32,10 +31,18 @@ type BottomChromeProps = {
32
31
  cacheWriteInputTokens?: number;
33
32
  latencyMs: number;
34
33
  };
34
+ /** Context-window utilization; only set when the window size was resolved. */
35
+ contextUsage?: {
36
+ used: number;
37
+ size: number;
38
+ };
39
+ /** Cumulative session cost in USD; only set when pricing was resolved. */
40
+ costUsd?: number;
35
41
  todoState: TodoViewState;
36
42
  queuedPrompts: readonly QueuedPrompt[];
37
43
  pendingApproval: boolean;
38
44
  approvalRequest: ApprovalRequest | null;
45
+ pendingQuestion: ChatQuestion | null;
39
46
  picker: ChatPicker;
40
47
  slashCommands: readonly {
41
48
  name: string;
@@ -46,6 +53,8 @@ type BottomChromeProps = {
46
53
  inputHint: string;
47
54
  slashMenu?: SlashCommandMenuProps;
48
55
  onApprovalDecision: (decision: ApprovalDecision, reason?: string) => void;
56
+ onQuestionAnswer: (answer: string) => void;
57
+ onQuestionDismiss: () => void;
49
58
  sessionItems: Array<{
50
59
  label: string;
51
60
  value: string;
@@ -58,5 +67,5 @@ type BottomChromeProps = {
58
67
  onInputChange: (value: string) => void;
59
68
  onSubmit: (value: PromptSubmission) => void;
60
69
  };
61
- export declare function BottomChrome({ config, running, status, currentModel, reasoningEffort, yoloOn, sessionMode, elapsedLabel, turnCount, totalTools, skillsFound, manager, mcpNeedsAttention, usage, todoState, queuedPrompts, pendingApproval, approvalRequest, picker, sessionItems, slashCommands, slashHighlightIndex, input, inputHint, slashMenu, onApprovalDecision, onModelSelect, onEffortSelect, onYoloSelect, onModeSelect, onSessionSelect, onInputChange, onSubmit, }: BottomChromeProps): import("react/jsx-runtime").JSX.Element;
70
+ export declare function BottomChrome({ config, running, currentModel, reasoningEffort, yoloOn, sessionMode, elapsedLabel, totalTools, skillsFound, manager, mcpNeedsAttention, usage, contextUsage, costUsd, todoState, queuedPrompts, pendingApproval, approvalRequest, pendingQuestion, picker, sessionItems, slashCommands, slashHighlightIndex, input, inputHint, slashMenu, onApprovalDecision, onQuestionAnswer, onQuestionDismiss, onModelSelect, onEffortSelect, onYoloSelect, onModeSelect, onSessionSelect, onInputChange, onSubmit, }: BottomChromeProps): import("react/jsx-runtime").JSX.Element;
62
71
  export {};
@@ -6,7 +6,7 @@ import { QueuedPrompts } from "./QueuedPrompts.js";
6
6
  import { SlashCommands } from "./SlashCommands.js";
7
7
  import { StatusBar } from "./StatusBar.js";
8
8
  import { TodoPanel } from "./TodoPanel.js";
9
- export function BottomChrome({ config, running, status, currentModel, reasoningEffort, yoloOn, sessionMode, elapsedLabel, turnCount, totalTools, skillsFound, manager, mcpNeedsAttention, usage, todoState, queuedPrompts, pendingApproval, approvalRequest, picker, sessionItems, slashCommands, slashHighlightIndex, input, inputHint, slashMenu, onApprovalDecision, onModelSelect, onEffortSelect, onYoloSelect, onModeSelect, onSessionSelect, onInputChange, onSubmit, }) {
10
- return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [running && todoState.visible && todoState.todos.length > 0 ? (_jsx(TodoPanel, { todos: todoState.todos })) : null, _jsx(QueuedPrompts, { prompts: queuedPrompts }), _jsx(ChromePicker, { config: config, pendingApproval: pendingApproval, approvalRequest: approvalRequest, picker: picker, yoloOn: yoloOn, sessionMode: sessionMode, onApprovalDecision: onApprovalDecision, sessionItems: sessionItems, onModelSelect: onModelSelect, onEffortSelect: onEffortSelect, onYoloSelect: onYoloSelect, onModeSelect: onModeSelect, onSessionSelect: onSessionSelect }), !pendingApproval && !picker ? (_jsx(SlashCommands, { items: slashCommands, highlightIndex: slashHighlightIndex })) : null, !pendingApproval && !picker ? (_jsx(Composer, { input: input, running: running, disabled: pendingApproval, hint: inputHint, onChange: onInputChange, onSubmit: onSubmit, slashMenu: slashMenu })) : null, _jsx(StatusBar, { running: running, status: status, currentModel: currentModel, reasoningEffort: reasoningEffort, yoloOn: yoloOn, sessionMode: sessionMode, elapsedLabel: elapsedLabel, turnCount: turnCount, totalTools: totalTools, skillsFound: skillsFound, manager: manager, mcpNeedsAttention: mcpNeedsAttention, usage: usage })] }));
9
+ export function BottomChrome({ config, running, currentModel, reasoningEffort, yoloOn, sessionMode, elapsedLabel, totalTools, skillsFound, manager, mcpNeedsAttention, usage, contextUsage, costUsd, todoState, queuedPrompts, pendingApproval, approvalRequest, pendingQuestion, picker, sessionItems, slashCommands, slashHighlightIndex, input, inputHint, slashMenu, onApprovalDecision, onQuestionAnswer, onQuestionDismiss, onModelSelect, onEffortSelect, onYoloSelect, onModeSelect, onSessionSelect, onInputChange, onSubmit, }) {
10
+ return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [running && todoState.visible && todoState.todos.length > 0 ? (_jsx(TodoPanel, { todos: todoState.todos })) : null, _jsx(QueuedPrompts, { prompts: queuedPrompts }), _jsx(ChromePicker, { config: config, pendingApproval: pendingApproval, approvalRequest: approvalRequest, pendingQuestion: pendingQuestion, picker: picker, yoloOn: yoloOn, sessionMode: sessionMode, onApprovalDecision: onApprovalDecision, onQuestionAnswer: onQuestionAnswer, onQuestionDismiss: onQuestionDismiss, sessionItems: sessionItems, onModelSelect: onModelSelect, onEffortSelect: onEffortSelect, onYoloSelect: onYoloSelect, onModeSelect: onModeSelect, onSessionSelect: onSessionSelect }), !pendingApproval && !pendingQuestion && !picker ? (_jsx(SlashCommands, { items: slashCommands, highlightIndex: slashHighlightIndex })) : null, !pendingApproval && !pendingQuestion && !picker ? (_jsx(Composer, { input: input, running: running, disabled: pendingApproval, hint: inputHint, onChange: onInputChange, onSubmit: onSubmit, slashMenu: slashMenu })) : null, _jsx(StatusBar, { running: running, currentModel: currentModel, reasoningEffort: reasoningEffort, yoloOn: yoloOn, sessionMode: sessionMode, elapsedLabel: elapsedLabel, totalTools: totalTools, skillsFound: skillsFound, manager: manager, mcpNeedsAttention: mcpNeedsAttention, usage: usage, contextUsage: contextUsage, costUsd: costUsd })] }));
11
11
  }
12
12
  //# sourceMappingURL=BottomChrome.js.map