summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useReactToolScheduler.ts
diff options
context:
space:
mode:
authorjoshualitt <[email protected]>2025-08-06 10:50:02 -0700
committerGitHub <[email protected]>2025-08-06 17:50:02 +0000
commit6133bea388a2de69c71a6be6f1450707f2ce4dfb (patch)
tree367de1d618069ea80e47d7e86c4fb8f82ad032a7 /packages/cli/src/ui/hooks/useReactToolScheduler.ts
parent882a97aff998b2f19731e9966d135f1db5a59914 (diff)
feat(core): Introduce `DeclarativeTool` and `ToolInvocation`. (#5613)
Diffstat (limited to 'packages/cli/src/ui/hooks/useReactToolScheduler.ts')
-rw-r--r--packages/cli/src/ui/hooks/useReactToolScheduler.ts27
1 files changed, 11 insertions, 16 deletions
diff --git a/packages/cli/src/ui/hooks/useReactToolScheduler.ts b/packages/cli/src/ui/hooks/useReactToolScheduler.ts
index 01993650..c6b802fc 100644
--- a/packages/cli/src/ui/hooks/useReactToolScheduler.ts
+++ b/packages/cli/src/ui/hooks/useReactToolScheduler.ts
@@ -17,7 +17,6 @@ import {
OutputUpdateHandler,
AllToolCallsCompleteHandler,
ToolCallsUpdateHandler,
- Tool,
ToolCall,
Status as CoreStatus,
EditorType,
@@ -216,23 +215,20 @@ export function mapToDisplay(
const toolDisplays = toolCalls.map(
(trackedCall): IndividualToolCallDisplay => {
- let displayName = trackedCall.request.name;
- let description = '';
+ let displayName: string;
+ let description: string;
let renderOutputAsMarkdown = false;
- const currentToolInstance =
- 'tool' in trackedCall && trackedCall.tool
- ? (trackedCall as { tool: Tool }).tool
- : undefined;
-
- if (currentToolInstance) {
- displayName = currentToolInstance.displayName;
- description = currentToolInstance.getDescription(
- trackedCall.request.args,
- );
- renderOutputAsMarkdown = currentToolInstance.isOutputMarkdown;
- } else if ('request' in trackedCall && 'args' in trackedCall.request) {
+ if (trackedCall.status === 'error') {
+ displayName =
+ trackedCall.tool === undefined
+ ? trackedCall.request.name
+ : trackedCall.tool.displayName;
description = JSON.stringify(trackedCall.request.args);
+ } else {
+ displayName = trackedCall.tool.displayName;
+ description = trackedCall.invocation.getDescription();
+ renderOutputAsMarkdown = trackedCall.tool.isOutputMarkdown;
}
const baseDisplayProperties: Omit<
@@ -256,7 +252,6 @@ export function mapToDisplay(
case 'error':
return {
...baseDisplayProperties,
- name: currentToolInstance?.displayName ?? trackedCall.request.name,
status: mapCoreStatusToDisplayStatus(trackedCall.status),
resultDisplay: trackedCall.response.resultDisplay,
confirmationDetails: undefined,