diff --git a/packages/elements/__tests__/tool.test.tsx b/packages/elements/__tests__/tool.test.tsx
index a7225762..97279525 100644
--- a/packages/elements/__tests__/tool.test.tsx
+++ b/packages/elements/__tests__/tool.test.tsx
@@ -250,4 +250,40 @@ describe("toolOutput", () => {
);
expect(screen.getByText("Result")).toBeInTheDocument();
});
+
+ it("renders empty-string output", () => {
+ render(
+
+
+
+ );
+ expect(screen.getByText("Result")).toBeInTheDocument();
+ });
+
+ it("renders zero output", () => {
+ render(
+
+
+
+ );
+ expect(screen.getByText("Result")).toBeInTheDocument();
+ });
+
+ it("renders false output", () => {
+ render(
+
+
+
+ );
+ expect(screen.getByText("Result")).toBeInTheDocument();
+ });
+
+ it("renders nothing when output is null", () => {
+ const { container } = render(
+
+
+
+ );
+ expect(container.textContent).toBe("");
+ });
});
diff --git a/packages/elements/src/tool.tsx b/packages/elements/src/tool.tsx
index 9a22010e..77928c85 100644
--- a/packages/elements/src/tool.tsx
+++ b/packages/elements/src/tool.tsx
@@ -138,7 +138,7 @@ export const ToolOutput = ({
errorText,
...props
}: ToolOutputProps) => {
- if (!(output || errorText)) {
+ if ((output === undefined || output === null) && !errorText) {
return null;
}