diff options
Diffstat (limited to 'packages/server/src/tools')
| -rw-r--r-- | packages/server/src/tools/shell.ts | 2 | ||||
| -rw-r--r-- | packages/server/src/tools/tools.ts | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/packages/server/src/tools/shell.ts b/packages/server/src/tools/shell.ts index 388c1543..4efc3500 100644 --- a/packages/server/src/tools/shell.ts +++ b/packages/server/src/tools/shell.ts @@ -42,6 +42,8 @@ export class ShellTool extends BaseTool<ShellToolParams, ToolResult> { toolDisplayName, toolDescription, toolParameterSchema, + false, // output is not markdown + true, // output can be updated ); } diff --git a/packages/server/src/tools/tools.ts b/packages/server/src/tools/tools.ts index eb1da248..e5d0c7cf 100644 --- a/packages/server/src/tools/tools.ts +++ b/packages/server/src/tools/tools.ts @@ -34,6 +34,16 @@ export interface Tool< schema: FunctionDeclaration; /** + * Whether the tool's output should be rendered as markdown + */ + isOutputMarkdown: boolean; + + /** + * Whether the tool supports live (streaming) output + */ + canUpdateOutput: boolean; + + /** * Validates the parameters for the tool * Should be called from both `shouldConfirmExecute` and `execute` * `shouldConfirmExecute` should return false immediately if invalid @@ -85,6 +95,8 @@ export abstract class BaseTool< * @param name Internal name of the tool (used for API calls) * @param displayName User-friendly display name of the tool * @param description Description of what the tool does + * @param isOutputMarkdown Whether the tool's output should be rendered as markdown + * @param canUpdateOutput Whether the tool supports live (streaming) output * @param parameterSchema JSON Schema defining the parameters */ constructor( @@ -92,6 +104,8 @@ export abstract class BaseTool< readonly displayName: string, readonly description: string, readonly parameterSchema: Record<string, unknown>, + readonly isOutputMarkdown: boolean = true, + readonly canUpdateOutput: boolean = false, ) {} /** |
