File size: 950 Bytes
fdc8b59 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import React from 'react'
import { MessageResponse } from '../../components/MessageResponse.js'
import { Text } from '../../ink.js'
import type { Output } from './GoalUpdateTool.js'
export function renderToolUseMessage(input: {
status?: 'complete' | 'blocked'
}): React.ReactNode {
const verb = input.status === 'blocked' ? 'blocked' : 'complete'
return <Text dimColor>marking goal {verb}...</Text>
}
export function renderToolResultMessage(output: Output): React.ReactNode {
const color =
output.status === 'complete'
? 'green'
: output.status === 'blocked'
? 'yellow'
: 'gray'
const label =
output.status === 'no-active-goal' || output.status === 'stale-goal'
? output.message
: `Goal ${output.status}`
return (
<MessageResponse>
<Text>
<Text color={color}>{label}</Text>
{output.reason ? ` · ${output.reason}` : ''}
</Text>
</MessageResponse>
)
} |