@qduc/term2 0.1.4 → 0.1.5

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 (62) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +2 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/components/BottomArea.d.ts +2 -0
  5. package/dist/components/BottomArea.d.ts.map +1 -1
  6. package/dist/components/BottomArea.js +2 -2
  7. package/dist/components/BottomArea.js.map +1 -1
  8. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  9. package/dist/components/ModelSelectionMenu.js +24 -15
  10. package/dist/components/ModelSelectionMenu.js.map +1 -1
  11. package/dist/components/StatusBar.d.ts +2 -0
  12. package/dist/components/StatusBar.d.ts.map +1 -1
  13. package/dist/components/StatusBar.js +44 -39
  14. package/dist/components/StatusBar.js.map +1 -1
  15. package/dist/components/StatusBar.test.d.ts +2 -0
  16. package/dist/components/StatusBar.test.d.ts.map +1 -0
  17. package/dist/components/StatusBar.test.js +19 -0
  18. package/dist/components/StatusBar.test.js.map +1 -0
  19. package/dist/hooks/use-conversation.d.ts +2 -0
  20. package/dist/hooks/use-conversation.d.ts.map +1 -1
  21. package/dist/hooks/use-conversation.js +44 -3
  22. package/dist/hooks/use-conversation.js.map +1 -1
  23. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  24. package/dist/hooks/use-model-selection.js +1 -25
  25. package/dist/hooks/use-model-selection.js.map +1 -1
  26. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  27. package/dist/lib/openai-agent-client.js +12 -4
  28. package/dist/lib/openai-agent-client.js.map +1 -1
  29. package/dist/services/conversation-events.d.ts +3 -0
  30. package/dist/services/conversation-events.d.ts.map +1 -1
  31. package/dist/services/conversation-session.d.ts +2 -0
  32. package/dist/services/conversation-session.d.ts.map +1 -1
  33. package/dist/services/conversation-session.js +151 -28
  34. package/dist/services/conversation-session.js.map +1 -1
  35. package/dist/services/conversation-session.usage.test.d.ts +2 -0
  36. package/dist/services/conversation-session.usage.test.d.ts.map +1 -0
  37. package/dist/services/conversation-session.usage.test.js +59 -0
  38. package/dist/services/conversation-session.usage.test.js.map +1 -0
  39. package/dist/tools/find-files.d.ts +1 -0
  40. package/dist/tools/find-files.d.ts.map +1 -1
  41. package/dist/tools/find-files.js +92 -8
  42. package/dist/tools/find-files.js.map +1 -1
  43. package/dist/tools/find-files.test.js +45 -0
  44. package/dist/tools/find-files.test.js.map +1 -1
  45. package/dist/tools/web-fetch.d.ts +4 -4
  46. package/dist/tools/web-fetch.d.ts.map +1 -1
  47. package/dist/tools/web-fetch.js +30 -243
  48. package/dist/tools/web-fetch.js.map +1 -1
  49. package/dist/utils/token-usage.d.ts +16 -0
  50. package/dist/utils/token-usage.d.ts.map +1 -0
  51. package/dist/utils/token-usage.js +110 -0
  52. package/dist/utils/token-usage.js.map +1 -0
  53. package/dist/utils/token-usage.test.d.ts +2 -0
  54. package/dist/utils/token-usage.test.d.ts.map +1 -0
  55. package/dist/utils/token-usage.test.js +38 -0
  56. package/dist/utils/token-usage.test.js.map +1 -0
  57. package/dist/utils/trim-tool-output.d.ts +2 -0
  58. package/dist/utils/trim-tool-output.d.ts.map +1 -0
  59. package/dist/utils/trim-tool-output.js +52 -0
  60. package/dist/utils/trim-tool-output.js.map +1 -0
  61. package/package.json +2 -1
  62. package/{README.md → readme.md} +22 -1
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAA4C,MAAM,OAAO,CAAC;AAW3E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAyB/D,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,QAAQ;IACd,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B;AASD,QAAA,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CAyhBrB,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAA4C,MAAM,OAAO,CAAC;AAW3E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAyB/D,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,QAAQ;IACd,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B;AASD,QAAA,MAAM,GAAG,EAAE,EAAE,CAAC,QAAQ,CA2hBrB,CAAC;AAEF,eAAe,GAAG,CAAC"}
package/dist/app.js CHANGED
@@ -28,7 +28,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
28
28
  const liteMode = useSetting(settingsService, 'app.liteMode') ?? false;
29
29
  const [isShellMode, setIsShellMode] = useState(false);
30
30
  const [shellHistory, setShellHistory] = useState([]);
31
- const { messages, liveResponse, pendingApproval, waitingForApproval, waitingForRejectionReason, setWaitingForRejectionReason, isProcessing, sendUserMessage, handleApprovalDecision, clearConversation, stopProcessing, setModel, setReasoningEffort, addSystemMessage, setTemperature, addShellMessage, } = useConversation({ conversationService, loggingService });
31
+ const { messages, liveResponse, lastUsage, pendingApproval, waitingForApproval, waitingForRejectionReason, setWaitingForRejectionReason, isProcessing, sendUserMessage, handleApprovalDecision, clearConversation, stopProcessing, setModel, setReasoningEffort, addSystemMessage, setTemperature, addShellMessage, } = useConversation({ conversationService, loggingService });
32
32
  useEffect(() => {
33
33
  conversationService.setRetryCallback(() => addSystemMessage('Retrying due to upstream error...'));
34
34
  }, [conversationService, addSystemMessage]);
@@ -398,7 +398,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
398
398
  React.createElement(Box, { flexDirection: "column", flexGrow: 1 },
399
399
  React.createElement(MessageList, { messages: messages }),
400
400
  liveResponse && liveResponse.text && React.createElement(LiveResponse, { text: liveResponse.text })),
401
- React.createElement(BottomArea, { pendingApproval: pendingApproval, waitingForApproval: waitingForApproval, waitingForRejectionReason: waitingForRejectionReason, isProcessing: isProcessing, isShellMode: isShellMode, onSubmit: handleSubmit, slashCommands: slashCommands, hasConversationHistory: messages.filter(msg => msg.sender !== 'system').length >
401
+ React.createElement(BottomArea, { pendingApproval: pendingApproval, waitingForApproval: waitingForApproval, waitingForRejectionReason: waitingForRejectionReason, isProcessing: isProcessing, isShellMode: isShellMode, lastUsage: lastUsage, onSubmit: handleSubmit, slashCommands: slashCommands, hasConversationHistory: messages.filter(msg => msg.sender !== 'system').length >
402
402
  0, settingsService: settingsService, loggingService: loggingService, historyService: historyService, onApprove: handleApprove, onReject: handleReject, sshInfo: sshInfo }))));
403
403
  };
404
404
  export default App;
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { SettingsService } from '../services/settings-service.js';
4
4
  import type { LoggingService } from '../services/logging-service.js';
5
5
  import type { HistoryService } from '../services/history-service.js';
6
6
  import type { SSHInfo } from '../app.js';
7
+ import type { NormalizedUsage } from '../utils/token-usage.js';
7
8
  export type PendingApproval = {
8
9
  agentName: string;
9
10
  toolName: string;
@@ -18,6 +19,7 @@ export type BottomAreaProps = {
18
19
  waitingForRejectionReason: boolean;
19
20
  isProcessing: boolean;
20
21
  isShellMode?: boolean;
22
+ lastUsage?: NormalizedUsage | null;
21
23
  onSubmit: (value: string) => Promise<void>;
22
24
  slashCommands: SlashCommand[];
23
25
  hasConversationHistory: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAAsB,MAAM,OAAO,CAAC;AAKrD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAyEnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BottomArea.d.ts","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAAsB,MAAM,OAAO,CAAC;AAKrD,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA2EnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -3,7 +3,7 @@ import { Box, Text } from 'ink';
3
3
  import ApprovalPrompt from './ApprovalPrompt.js';
4
4
  import InputBox from './InputBox.js';
5
5
  import StatusBar from './StatusBar.js';
6
- const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, isProcessing, isShellMode = false, onSubmit, slashCommands, hasConversationHistory, settingsService, loggingService, historyService, onApprove, onReject, sshInfo, }) => {
6
+ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionReason, isProcessing, isShellMode = false, onSubmit, slashCommands, hasConversationHistory, settingsService, loggingService, historyService, onApprove, onReject, sshInfo, lastUsage, }) => {
7
7
  const [dotCount, setDotCount] = useState(1);
8
8
  useEffect(() => {
9
9
  if (!isProcessing) {
@@ -25,7 +25,7 @@ const BottomArea = ({ pendingApproval, waitingForApproval, waitingForRejectionRe
25
25
  isProcessing && (React.createElement(Text, { color: "#64748b" },
26
26
  "processing",
27
27
  '.'.repeat(dotCount))),
28
- React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo })));
28
+ React.createElement(StatusBar, { settingsService: settingsService, isShellMode: isShellMode, sshInfo: sshInfo, lastUsage: lastUsage })));
29
29
  };
30
30
  export default BottomArea;
31
31
  //# sourceMappingURL=BottomArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAK,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAiCvC,MAAM,UAAU,GAAwB,CAAC,EACrC,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,GACV,EAAE,EAAE;IACD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,kBAAkB,GACpB,kBAAkB;QAClB,CAAC,YAAY;QACb,CAAC,yBAAyB;QAC1B,eAAe,CAAC;IACpB,MAAM,SAAS,GACX,CAAC,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,yBAAyB,CAAC;IAExE,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACtB,kBAAkB,CAAC,CAAC,CAAC,CAClB,oBAAC,cAAc,IACX,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACZ,oBAAC,QAAQ,IACL,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAChC,CACL,CAAC,CAAC,CAAC,IAAI;QAEP,YAAY,IAAI,CACb,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;YACN,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC5B,CACV;QAED,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GAClB,CACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"BottomArea.js","sourceRoot":"","sources":["../../source/components/BottomArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAK,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAmCvC,MAAM,UAAU,GAAwB,CAAC,EACrC,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,GACZ,EAAE,EAAE;IACD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,kBAAkB,GACpB,kBAAkB;QAClB,CAAC,YAAY;QACb,CAAC,yBAAyB;QAC1B,eAAe,CAAC;IACpB,MAAM,SAAS,GACX,CAAC,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,yBAAyB,CAAC;IAExE,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACtB,kBAAkB,CAAC,CAAC,CAAC,CAClB,oBAAC,cAAc,IACX,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACZ,oBAAC,QAAQ,IACL,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAChC,CACL,CAAC,CAAC,CAAC,IAAI;QAEP,YAAY,IAAI,CACb,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;YACN,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC5B,CACV;QAED,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACtB,CACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSelectionMenu.d.ts","sourceRoot":"","sources":["../../source/components/ModelSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAG5D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAErE,KAAK,KAAK,GAAG;IACT,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAiEF,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,KAAK,CA4GjC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ModelSelectionMenu.d.ts","sourceRoot":"","sources":["../../source/components/ModelSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAG5D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAErE,KAAK,KAAK,GAAG;IACT,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAiEF,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,KAAK,CA+HjC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -30,31 +30,40 @@ const ProviderTabs = ({ activeProvider, canSwitch = true, settingsService }) =>
30
30
  React.createElement(Text, { color: "yellow" }, "\u26A0 Provider can only be changed at the start of a new conversation (/clear to reset)")))));
31
31
  };
32
32
  const ModelSelectionMenu = ({ items, selectedIndex, query, provider, loading = false, error = null, scrollOffset = 0, maxHeight = 10, canSwitchProvider = true, settingsService, }) => {
33
+ const header = (React.createElement(ProviderTabs, { activeProvider: provider, canSwitch: canSwitchProvider, settingsService: settingsService }));
33
34
  if (loading) {
34
- return (React.createElement(Box, { borderStyle: "round", borderColor: "magenta", paddingX: 1 },
35
- React.createElement(Text, { color: "magenta" },
36
- "Loading models",
37
- provider ? ` from ${provider}` : '',
38
- "\u2026")));
35
+ return (React.createElement(Box, { flexDirection: "column" },
36
+ header,
37
+ React.createElement(Box, { borderStyle: "round", borderColor: "magenta", paddingX: 1 },
38
+ React.createElement(Text, { color: "magenta" },
39
+ "Loading models",
40
+ provider ? ` from ${provider}` : '',
41
+ "\u2026"))));
39
42
  }
40
43
  if (error) {
41
- return (React.createElement(Box, { borderStyle: "round", borderColor: "red", paddingX: 1 },
42
- React.createElement(Text, { color: "red" },
43
- "Unable to load models: ",
44
- error)));
44
+ return (React.createElement(Box, { flexDirection: "column" },
45
+ header,
46
+ React.createElement(Box, { borderStyle: "round", borderColor: "red", paddingX: 1 },
47
+ React.createElement(Text, { color: "red" },
48
+ "Unable to load models: ",
49
+ error)),
50
+ React.createElement(Text, { color: "#64748b" }, "Tab \u2192 switch provider \u00B7 Esc \u2192 cancel")));
45
51
  }
46
52
  if (items.length === 0) {
47
- return (React.createElement(Box, { borderStyle: "round", borderColor: "magenta", paddingX: 1 },
48
- React.createElement(Text, { color: "#64748b" },
49
- "No models match \"",
50
- query || '*',
51
- "\"")));
53
+ return (React.createElement(Box, { flexDirection: "column" },
54
+ header,
55
+ React.createElement(Box, { borderStyle: "round", borderColor: "magenta", paddingX: 1 },
56
+ React.createElement(Text, { color: "#64748b" },
57
+ "No models match \"",
58
+ query || '*',
59
+ "\"")),
60
+ React.createElement(Text, { color: "#64748b" }, "Tab \u2192 switch provider \u00B7 Esc \u2192 cancel")));
52
61
  }
53
62
  const visibleItems = items.slice(scrollOffset, scrollOffset + maxHeight);
54
63
  const hasScrollUp = scrollOffset > 0;
55
64
  const hasScrollDown = scrollOffset + maxHeight < items.length;
56
65
  return (React.createElement(Box, { flexDirection: "column" },
57
- React.createElement(ProviderTabs, { activeProvider: provider, canSwitch: canSwitchProvider, settingsService: settingsService }),
66
+ header,
58
67
  React.createElement(Box, { borderStyle: "round", borderColor: "magenta", paddingX: 1, flexDirection: "column" },
59
68
  React.createElement(Box, { justifyContent: "space-between" },
60
69
  React.createElement(Text, { color: "#64748b" },
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSelectionMenu.js","sourceRoot":"","sources":["../../source/components/ModelSelectionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAE9B,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,sBAAsB,EAAC,MAAM,kCAAkC,CAAC;AAgBxE,MAAM,YAAY,GAIb,CAAC,EAAC,cAAc,EAAE,SAAS,GAAG,IAAI,EAAE,eAAe,EAAC,EAAE,EAAE;IACzD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,cAAc,EAAE,sBAAsB,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC,CAAC,CAAC;IAEJ,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACvB,oBAAC,GAAG,IAAC,cAAc,EAAC,eAAe;YAC/B,oBAAC,GAAG,QACC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,KAAK,cAAc,CAAC;gBAChD,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC5C,OAAO,CACH,oBAAC,GAAG,IAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;oBACjB,oBAAC,IAAI,IACD,OAAO,EAAE,QAAQ,EACjB,KAAK,EACD,QAAQ;4BACJ,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,UAAU;gCACZ,CAAC,CAAC,KAAK;gCACP,CAAC,CAAC,SAAS,EAEnB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,UAAU;wBAExB,GAAG;wBACH,QAAQ,CAAC,KAAK;wBACd,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;wBAAE,GAAG,CAChC;oBACN,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7B,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAChB,KAAK,CACH,CACV,CACC,CACT,CAAC;YACN,CAAC,CAAC,CACA;YACL,SAAS,IAAI,CACV,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,iCAEd,CACV,CACC;QACL,CAAC,SAAS,IAAI,CACX,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACb,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,+FAGb,CACL,CACT,CACC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAc,CAAC,EACnC,KAAK,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,IAAI,EACZ,YAAY,GAAG,CAAC,EAChB,SAAS,GAAG,EAAE,EACd,iBAAiB,GAAG,IAAI,EACxB,eAAe,GAClB,EAAE,EAAE;IACD,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CACH,oBAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC;YACtD,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBACF,QAAQ,CAAC,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;yBAC/C,CACL,CACT,CAAC;IACN,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CACH,oBAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,QAAQ,EAAE,CAAC;YAClD,oBAAC,IAAI,IAAC,KAAK,EAAC,KAAK;;gBAAyB,KAAK,CAAQ,CACrD,CACT,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,CACH,oBAAC,GAAG,IAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC;YACtD,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBACC,KAAK,IAAI,GAAG;qBAC3B,CACL,CACT,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAE9D,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACvB,oBAAC,YAAY,IACT,cAAc,EAAE,QAAQ,EACxB,SAAS,EAAE,iBAAiB,EAC5B,eAAe,EAAE,eAAe,GAClC;QACF,oBAAC,GAAG,IACA,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,SAAS,EACrB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ;YAEtB,oBAAC,GAAG,IAAC,cAAc,EAAC,eAAe;gBAC/B,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;oBAChB,KAAK,CAAC,MAAM;;oBAAa,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CACpD;gBACN,KAAK,CAAC,MAAM,GAAG,SAAS,IAAI,CACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;oBAChB,YAAY,GAAG,CAAC;;oBAChB,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;;oBAChD,KAAK,CAAC,MAAM,CACV,CACV,CACC;YACL,WAAW,IAAI,CACZ,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBACd,YAAY;wBACZ,CACV;YACA,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE;gBACrC,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;gBAChD,MAAM,UAAU,GAAG,WAAW,KAAK,aAAa,CAAC;gBACjD,OAAO,CACH,oBAAC,GAAG,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE;oBACb,oBAAC,IAAI,IACD,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACzC,IAAI,EAAE,UAAU,IAEf,IAAI,CAAC,EAAE,CACL;oBACN,IAAI,CAAC,IAAI,IAAI,CACV,oBAAC,IAAI,IACD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;wBAEtC,GAAG;;wBACD,IAAI,CAAC,IAAI,CACT,CACV,CACC,CACT,CAAC;YACN,CAAC,CAAC;YACD,aAAa,IAAI,CACd,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBACd,KAAK,CAAC,MAAM,GAAG,YAAY,GAAG,SAAS;wBACvC,CACV,CACC;QACN,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wFAEd,CACL,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ModelSelectionMenu.js","sourceRoot":"","sources":["../../source/components/ModelSelectionMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { FC } from 'react';
2
2
  import type { SettingsService } from '../services/settings-service.js';
3
3
  import type { SSHInfo } from '../app.js';
4
+ import { type NormalizedUsage } from '../utils/token-usage.js';
4
5
  interface StatusBarProps {
5
6
  settingsService: SettingsService;
6
7
  isShellMode?: boolean;
7
8
  sshInfo?: SSHInfo;
9
+ lastUsage?: NormalizedUsage | null;
8
10
  }
9
11
  declare const StatusBar: FC<StatusBarProps>;
10
12
  export default StatusBar;
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAIhC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAEvC,UAAU,cAAc;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAwFjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAIhC,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAoB,KAAK,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAEhF,UAAU,cAAc;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACtC;AAED,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA+GjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -2,7 +2,8 @@ import React from 'react';
2
2
  import { Box, Text } from 'ink';
3
3
  import { useSetting } from '../hooks/use-setting.js';
4
4
  import { getProvider } from '../providers/index.js';
5
- const StatusBar = ({ settingsService, isShellMode = false, sshInfo }) => {
5
+ import { formatFooterUsage } from '../utils/token-usage.js';
6
+ const StatusBar = ({ settingsService, isShellMode = false, sshInfo, lastUsage, }) => {
6
7
  const mentorMode = useSetting(settingsService, 'app.mentorMode') ?? false;
7
8
  const editMode = useSetting(settingsService, 'app.editMode') ?? false;
8
9
  const liteMode = useSetting(settingsService, 'app.liteMode') ?? false;
@@ -16,44 +17,48 @@ const StatusBar = ({ settingsService, isShellMode = false, sshInfo }) => {
16
17
  const slate = '#64748b';
17
18
  const glow = '#fbbf24';
18
19
  const accent = '#0ed7b5';
19
- return (React.createElement(Box, { marginTop: 1 },
20
- sshInfo && (React.createElement(React.Fragment, null,
21
- React.createElement(Box, { marginRight: 1 },
22
- React.createElement(Text, { color: "#f97316", bold: true }, "SSH"),
23
- React.createElement(Text, { color: slate },
24
- " ",
25
- sshInfo.user,
26
- "@",
27
- sshInfo.host,
28
- ":",
29
- sshInfo.remoteDir)),
30
- React.createElement(Text, { color: slate }, "\u2502"))),
31
- React.createElement(Box, { marginRight: 1, marginLeft: sshInfo ? 1 : 0, gap: 1 },
32
- liteMode && (React.createElement(React.Fragment, null,
33
- React.createElement(Text, { color: "#10b981", bold: true }, "Lite"),
34
- React.createElement(Text, { color: isShellMode ? '#ca8a04' : '#3b82f6', bold: true }, isShellMode ? 'Shell' : 'Ask'))),
35
- editMode && (React.createElement(Text, { color: glow, bold: true }, "Edit")),
36
- mentorMode && (React.createElement(Text, { color: "#a78bfa", bold: true }, "Mentor")),
37
- !editMode && !mentorMode && !liteMode && (React.createElement(Text, { color: slate }, "Default"))),
38
- model && (React.createElement(React.Fragment, null,
39
- React.createElement(Text, { color: slate }, "\u2502"),
40
- React.createElement(Box, { marginX: 1 },
41
- React.createElement(Text, { color: accent }, model),
42
- React.createElement(Text, { color: slate },
43
- " (",
44
- providerLabel,
45
- ")")))),
46
- mentorMode && mentorModel && (React.createElement(React.Fragment, null,
47
- React.createElement(Text, { color: slate }, "\u2502"),
48
- React.createElement(Box, { marginX: 1 },
49
- React.createElement(Text, { color: slate }, "Mentor: "),
50
- React.createElement(Text, { color: "#a78bfa" }, mentorModel)))),
51
- reasoningEffort && reasoningEffort !== 'default' && (React.createElement(React.Fragment, null,
52
- React.createElement(Text, { color: slate }, "\u2502"),
53
- React.createElement(Box, { marginX: 1 },
54
- React.createElement(Text, { color: glow },
55
- "Reasoning: ",
56
- reasoningEffort))))));
20
+ const usageText = formatFooterUsage(lastUsage);
21
+ return (React.createElement(Box, { marginTop: 1, justifyContent: "space-between", width: "100%" },
22
+ React.createElement(Box, null,
23
+ sshInfo && (React.createElement(React.Fragment, null,
24
+ React.createElement(Box, { marginRight: 1 },
25
+ React.createElement(Text, { color: "#f97316", bold: true }, "SSH"),
26
+ React.createElement(Text, { color: slate },
27
+ ' ',
28
+ sshInfo.user,
29
+ "@",
30
+ sshInfo.host,
31
+ ":",
32
+ sshInfo.remoteDir)),
33
+ React.createElement(Text, { color: slate }, "\u2502"))),
34
+ React.createElement(Box, { marginRight: 1, marginLeft: sshInfo ? 1 : 0, gap: 1 },
35
+ liteMode && (React.createElement(React.Fragment, null,
36
+ React.createElement(Text, { color: "#10b981", bold: true }, "Lite"),
37
+ React.createElement(Text, { color: isShellMode ? '#ca8a04' : '#3b82f6', bold: true }, isShellMode ? 'Shell' : 'Ask'))),
38
+ editMode && (React.createElement(Text, { color: glow, bold: true }, "Edit")),
39
+ mentorMode && (React.createElement(Text, { color: "#a78bfa", bold: true }, "Mentor")),
40
+ !editMode && !mentorMode && !liteMode && (React.createElement(Text, { color: slate }, "Default"))),
41
+ model && (React.createElement(React.Fragment, null,
42
+ React.createElement(Text, { color: slate }, "\u2502"),
43
+ React.createElement(Box, { marginX: 1 },
44
+ React.createElement(Text, { color: accent }, model),
45
+ React.createElement(Text, { color: slate },
46
+ " (",
47
+ providerLabel,
48
+ ")")))),
49
+ mentorMode && mentorModel && (React.createElement(React.Fragment, null,
50
+ React.createElement(Text, { color: slate }, "\u2502"),
51
+ React.createElement(Box, { marginX: 1 },
52
+ React.createElement(Text, { color: slate }, "Mentor: "),
53
+ React.createElement(Text, { color: "#a78bfa" }, mentorModel)))),
54
+ reasoningEffort && reasoningEffort !== 'default' && (React.createElement(React.Fragment, null,
55
+ React.createElement(Text, { color: slate }, "\u2502"),
56
+ React.createElement(Box, { marginX: 1 },
57
+ React.createElement(Text, { color: glow },
58
+ "Reasoning: ",
59
+ reasoningEffort))))),
60
+ usageText && (React.createElement(Box, null,
61
+ React.createElement(Text, { color: slate }, usageText)))));
57
62
  };
58
63
  export default StatusBar;
59
64
  //# sourceMappingURL=StatusBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../source/components/StatusBar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=StatusBar.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.test.d.ts","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import test from 'ava';
2
+ import React from 'react';
3
+ import { render } from 'ink-testing-library';
4
+ import StatusBar from './StatusBar.js';
5
+ import { createMockSettingsService } from '../services/settings-service.mock.js';
6
+ test('StatusBar renders token usage on the right', t => {
7
+ const settingsService = createMockSettingsService();
8
+ const lastUsage = { prompt_tokens: 100, completion_tokens: 50, total_tokens: 150 };
9
+ const { lastFrame } = render(React.createElement(StatusBar, { settingsService: settingsService, lastUsage: lastUsage }));
10
+ const output = lastFrame() ?? '';
11
+ t.true(output.includes('Tok: 100 in / 50 out / 150 total'));
12
+ });
13
+ test('StatusBar does not render usage when not provided', t => {
14
+ const settingsService = createMockSettingsService();
15
+ const { lastFrame } = render(React.createElement(StatusBar, { settingsService: settingsService, lastUsage: null }));
16
+ const output = lastFrame() ?? '';
17
+ t.false(output.includes('Tok:'));
18
+ });
19
+ //# sourceMappingURL=StatusBar.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.test.js","sourceRoot":"","sources":["../../source/components/StatusBar.test.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAE/E,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,EAAE;IACnD,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,EAAC,aAAa,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAC,CAAC;IAEjF,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACtB,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,GACtB,CACL,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,CAAC,CAAC,EAAE;IAC1D,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAC;IAEpD,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACtB,oBAAC,SAAS,IACN,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,IAAI,GACjB,CACL,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { ConversationService } from '../services/conversation-service.js';
2
2
  import type { ILoggingService } from '../services/service-interfaces.js';
3
+ import type { NormalizedUsage } from '../utils/token-usage.js';
3
4
  interface UserMessage {
4
5
  id: number;
5
6
  sender: 'user';
@@ -59,6 +60,7 @@ export declare const useConversation: ({ conversationService, loggingService, }:
59
60
  }) => {
60
61
  messages: Message[];
61
62
  liveResponse: LiveResponse | null;
63
+ lastUsage: NormalizedUsage | null;
62
64
  pendingApproval: PendingApproval | null;
63
65
  waitingForApproval: boolean;
64
66
  waitingForRejectionReason: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAUvE,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,eAAe;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,cAAc;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,gBAAgB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,OAAO,GACN,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,gBAAgB,CAAC;AAEvB,UAAU,YAAY;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,uCAAuC,GAChD,UAAU,GAAG,EAAE,EACf,UAAU;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,GAAG,SAAS,KAClE,GAAG,EA4BL,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0CAG7B;IACC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;CACnC;;;;;;;;6BAmMqB,MAAM;qCA6IL,MAAM,oBAAoB,MAAM;;;sBA4SvC,MAAM;iCAOL,GAAG;kCAOE,GAAG;6BAOV,MAAM;+BAcA,MAAM,UACP,MAAM,YACJ,MAAM,GAAG,IAAI,YACb,OAAO;CA6C5B,CAAC"}
1
+ {"version":3,"file":"use-conversation.d.ts","sourceRoot":"","sources":["../../source/hooks/use-conversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AASvE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAE7D,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,eAAe;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,cAAc;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,aAAa;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,gBAAgB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,OAAO,GACN,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,gBAAgB,CAAC;AAEvB,UAAU,YAAY;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,uCAAuC,GAChD,UAAU,GAAG,EAAE,EACf,UAAU;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,GAAG,SAAS,KAClE,GAAG,EA4BL,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0CAG7B;IACC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;CACnC;;;;;;;;;6BAuMqB,MAAM;qCA8JL,MAAM,oBAAoB,MAAM;;;sBA8UvC,MAAM;iCAOL,GAAG;kCAOE,GAAG;6BAOV,MAAM;+BAcA,MAAM,UACP,MAAM,YACJ,MAAM,GAAG,IAAI,YACb,OAAO;CA8C5B,CAAC"}
@@ -35,6 +35,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
35
35
  const [pendingApproval, setPendingApproval] = useState(null);
36
36
  const [isProcessing, setIsProcessing] = useState(false);
37
37
  const [liveResponse, setLiveResponse] = useState(null);
38
+ const [lastUsage, setLastUsage] = useState(null);
38
39
  const approvedContextRef = useRef(null);
39
40
  const createLiveResponseUpdater = useCallback((liveMessageId) => createStreamingUpdateCoordinator((text) => {
40
41
  setLiveResponse(prev => prev && prev.id === liveMessageId
@@ -163,6 +164,9 @@ export const useConversation = ({ conversationService, loggingService, }) => {
163
164
  });
164
165
  setWaitingForApproval(false);
165
166
  setPendingApproval(null);
167
+ if (result.usage) {
168
+ setLastUsage(result.usage);
169
+ }
166
170
  }, [annotateCommandMessage, appendMessages, trimMessages]);
167
171
  const sendUserMessage = useCallback(async (value) => {
168
172
  if (!value.trim()) {
@@ -211,7 +215,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
211
215
  });
212
216
  }, REASONING_RESPONSE_THROTTLE_MS);
213
217
  // Create event handler using extracted factory
214
- const applyConversationEvent = createConversationEventHandler({
218
+ const baseEventHandler = createConversationEventHandler({
215
219
  liveResponseUpdater,
216
220
  reasoningUpdater,
217
221
  appendMessages,
@@ -220,6 +224,18 @@ export const useConversation = ({ conversationService, loggingService, }) => {
220
224
  trimMessages,
221
225
  annotateCommandMessage,
222
226
  }, streamingState);
227
+ const applyConversationEvent = (event) => {
228
+ if (event.type === 'final') {
229
+ if (event.usage) {
230
+ loggingService.debug('UI received final usage (sendUserMessage)', { usage: event.usage });
231
+ setLastUsage(event.usage);
232
+ }
233
+ else {
234
+ loggingService.debug('UI final event has no usage (sendUserMessage)');
235
+ }
236
+ }
237
+ baseEventHandler(event);
238
+ };
223
239
  try {
224
240
  const result = await conversationService.sendMessage(value, {
225
241
  onEvent: applyConversationEvent,
@@ -336,7 +352,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
336
352
  });
337
353
  }, REASONING_RESPONSE_THROTTLE_MS);
338
354
  // Create event handler using extracted factory
339
- const applyConversationEvent = createConversationEventHandler({
355
+ const baseEventHandler = createConversationEventHandler({
340
356
  liveResponseUpdater,
341
357
  reasoningUpdater,
342
358
  appendMessages,
@@ -345,6 +361,18 @@ export const useConversation = ({ conversationService, loggingService, }) => {
345
361
  trimMessages,
346
362
  annotateCommandMessage,
347
363
  }, streamingState);
364
+ const applyConversationEvent = (event) => {
365
+ if (event.type === 'final') {
366
+ if (event.usage) {
367
+ loggingService.debug('UI received final usage (maxTurnsContinuation)', { usage: event.usage });
368
+ setLastUsage(event.usage);
369
+ }
370
+ else {
371
+ loggingService.debug('UI final event has no usage (maxTurnsContinuation)');
372
+ }
373
+ }
374
+ baseEventHandler(event);
375
+ };
348
376
  try {
349
377
  // Send a continuation message to resume work
350
378
  const continuationMessage = 'Please continue with your previous task.';
@@ -424,7 +452,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
424
452
  });
425
453
  }, REASONING_RESPONSE_THROTTLE_MS);
426
454
  // Create event handler using extracted factory
427
- const applyConversationEvent = createConversationEventHandler({
455
+ const baseEventHandler = createConversationEventHandler({
428
456
  liveResponseUpdater,
429
457
  reasoningUpdater,
430
458
  appendMessages,
@@ -433,6 +461,18 @@ export const useConversation = ({ conversationService, loggingService, }) => {
433
461
  trimMessages,
434
462
  annotateCommandMessage,
435
463
  }, streamingState);
464
+ const applyConversationEvent = (event) => {
465
+ if (event.type === 'final') {
466
+ if (event.usage) {
467
+ loggingService.debug('UI received final usage (approvalDecision)', { usage: event.usage });
468
+ setLastUsage(event.usage);
469
+ }
470
+ else {
471
+ loggingService.debug('UI final event has no usage (approvalDecision)');
472
+ }
473
+ }
474
+ baseEventHandler(event);
475
+ };
436
476
  try {
437
477
  const result = await conversationService.handleApprovalDecision(answer, rejectionReason, {
438
478
  onEvent: applyConversationEvent,
@@ -543,6 +583,7 @@ export const useConversation = ({ conversationService, loggingService, }) => {
543
583
  return {
544
584
  messages,
545
585
  liveResponse,
586
+ lastUsage,
546
587
  pendingApproval,
547
588
  waitingForApproval,
548
589
  waitingForRejectionReason,